0

我有一个包含三个元素的数组

string[] cat = new string[3] { "XBox360", "PS3", "Wii" };

然后我基本上比较了数组 agiant aDataTable并在某些条件下进行了一些操作。(我没有写)执行匹配的代码是这样的:

drResults = dtResults.Select(String.Format("Cat = '{0}' AND Cat_Entries = '{1}'", category, cat[i]));

类别 (Cat) 变量包含类别编号和 Cat_Entries 猫数组的元素。因此,如果 drResult.Lenght > 0,我在代码中执行操作。

我不明白的是 Format() 中的代码是做什么的?我正在查看Microsoft 的定义,但让我失望的是“AND”。大括号 {} 之间的数字是否也像顺序索引指示符一样告诉运行时类别元素替换零,并且 cat[i] 替换一?

所有这些当然都在循环和其他代码中,但我认为它并没有真正增加问题,所以我把它省略了。

4

1 回答 1

1

Select 方法接受一段 SQL 并返回匹配的行。在这种情况下,您正在寻找一行Cat field = '<category>' AND the Cat_Entries field = '<cat[i]>'

Format 函数是比创建字符串更好的方法

"Cat = '" + category + "' AND Cat_Entries = '" + cat[i] + '"因为后者更难阅读,并且由于必须创建几个临时字符串而可能更慢。

{0} 和 {1} 只是代表您提供的变量的占位符,即。 类别cat[i]。您可以根据需要以任何顺序重复使用每一个,例如,拥有它是有效的(尽管很愚蠢)

String.Format("Cat_Entries = '{1}' AND Cat = '{0}' AND Cat = '{0}'", category, cat[i])
于 2013-03-11T22:56:10.627 回答