C# 参数值转为字符串?

标签 c# visual-studio

好吧,我确信我不是唯一一个想知道这个问题的人 =)

简而言之,是否可以使用VisualStudio进行转换:

string a1, string a2, string a3, string a4, string a5, string  a6

转换成类似这样的字符串:

"'value1', 'value2', 'value3', 'value4', 'value5', value6'"

(不用担心确切的格式,我可以自己处理)?

背景: 我经常有调用接受大量参数的存储过程的函数,有时(调试)我需要构建“exec dbo.storedprocname param1,param2 ....”字符串并直接对服务器运行它。目前我必须手动构建字符串,我希望有一种简单的方法可以在 VisualStudio 的立即窗口中将其打印出来

编辑(根据大众要求): 我正在使用 Linq2SQL(是的,我知道它已经过时了)并且其中有 100 多个 SP。当我需要调试某个函数时,我会在其中一个函数中放置一个中断,以查看它将传递给数据库的内容。所以这将是运行时。当到达断点时:

public static void MethodCreatedByLINQ2Sql(string param1, string param2, string param3, ...)
{
    context.mystoredprocedure(param1, param2, param3...); //<---breakpoint
}

我想以某种方式(无需指定每个参数)打印出一个分隔字符串,我可以将其剪切并粘贴到 SSMS2008 中(试图节省时间)以构建这样的字符串

exec dbo.mystoredprocedure [['value1', 'value2', 'value3'......]] <--- pasted value from VisualStudio

不,我不想做 SQLInjections 或类似的事情。我只是想节省时间 - 其中一些 SP 有 20 多个参数。

最佳答案

这就是你想要的吗?

String paramStr = String.Format("'{0}', '{1}', '{2}', '{3}', '{4}'", a1, a2, a3 ,a4,a5);

我应该指出,将这样的字符串发送到数据库可能会导致 SQL Injection

选项 2:

要将其打印到中间窗口,您可以使用以下技巧:

  1. 创建断点
  2. 右键单击红点 ->“点击时”。
  3. 在新屏幕中选择“打印消息”复选框
  4. 在文本框中输入上面的 String.Format,但两侧各有一个大括号:

{ String.Format(.....) }

有关您可以在该消息中打印的参数的更多信息:http://msdn.microsoft.com/en-us/library/232dxah7.aspx

关于C# 参数值转为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12390149/

相关文章:

c# - 在 Visual Studio 2010 中使用 Mercurial

c# - 使用 linq 解析样式属性集合

c# - 如何在 List<int> 中查找重复的连续数字?

typescript - Bootstrap4 types(index.d.ts) 在使用 TypeScript 3.9 和 Libman 的 Visual Studio 2019 上找不到模块 'popper.js'

c# - 无法在 Visual Studio 调试器中查看字典内容

c# - 如何在 C# 中修改 XML 文件?

c# - 无法列出某些文件夹

visual-studio - VS 11 Dev Preview 单元测试资源管理器不显示单元测试

c# - Visual Studio 2008 中重构菜单的快捷键(重命名、 "using"等)?

c# - 访问 Winform 控件的特定实例