Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 与DataTable.Select()结合使用的复合格式字符串_C#_Asp.net - Fatal编程技术网

C# 与DataTable.Select()结合使用的复合格式字符串

C# 与DataTable.Select()结合使用的复合格式字符串,c#,asp.net,C#,Asp.net,我有一个包含三个元素的数组 string[] cat = new string[3] { "XBox360", "PS3", "Wii" }; 然后我基本上比较了数组和一个DataTable,并在特定条件下进行了一些操作。(我没有写)执行匹配的代码如下: drResults = dtResults.Select(String.Format("Cat = '{0}' AND Cat_Entries = '{1}'", category, cat[i])); 类别(Cat)变量包含类别编号和Ca

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

string[] cat = new string[3] { "XBox360", "PS3", "Wii" };
然后我基本上比较了数组和一个
DataTable
,并在特定条件下进行了一些操作。(我没有写)执行匹配的代码如下:

drResults = dtResults.Select(String.Format("Cat = '{0}' AND Cat_Entries = '{1}'", category, cat[i]));
类别(Cat)变量包含类别编号和Cat数组元素的Cat_条目。因此,在代码中,如果drResult.Lenght>0,我将执行操作

我不明白的是Format()中的代码是做什么的?我在看,但让我不舒服的是“和”。另外,花括号{}之间的数字是否像顺序索引指示符一样,告诉运行时category元素重新组合为零,cat[i]替换为一


所有这些当然都在一个循环和其他代码中,但我认为这并没有增加问题的严重性,因此我将其忽略。

Select方法使用一段SQL并返回匹配的行。在本例中,您正在查找一行,其中
Cat字段=''和Cat_条目字段=''

Format函数是创建字符串的更好方法,而不是

“Cat=”“+category+””和Cat_条目=”“+Cat[i]+”
,因为后者更难读取,并且可能由于必须创建几个临时字符串而更慢

{0}和{1}只是代表您提供的变量的占位符,即。 类别类别[i]。您可以按任意顺序重复使用每一个类别。例如,使用


属于
数据表。选择
(类似于SQL中的
WHERE
子句),大括号是
字符串的占位符。格式
(正如您已经提到的)。因此它们不相关。因此基本上,
Cat
类别和
Cat\u条目
=
Cat[i]
因此,如果存在匹配,
dtResults
是1?严肃地说,人们会投反对票?因为什么?@Risho无法解释的反对票在so中很常见;最近情况变得非常糟糕。
String.Format("Cat_Entries = '{1}' AND Cat = '{0}' AND Cat = '{0}'", category, cat[i])