Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.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#中的列表创建逗号分隔列表而不终止逗号_C#_String_List_Comma - Fatal编程技术网

从c#中的列表创建逗号分隔列表而不终止逗号

从c#中的列表创建逗号分隔列表而不终止逗号,c#,string,list,comma,C#,String,List,Comma,我有一个列表,我想在C#中的语句中使用它的成员。使用string.Join 在列表末尾插入不需要的逗号。我该怎么办 string sql = string.Format(@"SELECT I.ItemId FROM POS.Item I WHERE I.Code IN ({0})", string.Join(",", code.ToArray())); 在code中可以有空字符串或null 看看这个: string joined = string.Join(",", new string[]

我有一个列表,我想在C#中的
语句中使用它的成员。使用
string.Join
在列表末尾插入不需要的逗号。我该怎么办

 string sql = string.Format(@"SELECT I.ItemId FROM POS.Item I WHERE
I.Code IN ({0})", string.Join(",", code.ToArray()));

code
中可以有空字符串或null

看看这个:

string joined = string.Join(",", new string[] { "asdf", "qwer", "" });
Console.WriteLine(joined);

两者都给出:

asdf,qwer,

列表中必须有空字符串,这就是为什么它会在字符串的末尾添加额外的逗号,否则string.Join将永远不会添加额外的逗号。如果是这种情况,那么您应该通过如下函数删除多余的逗号

string sql = string.Format(@"SELECT I.ItemId FROM POS.Item I WHERE
I.Code IN ({0})", string.Join(",", code.ToArray()).TrimEnd(','));

在代码变量中显示数据。这不是join的行为。join不会将添加到字符串的末尾
中。join
不会在结果的末尾添加
分隔符。你的代码肯定有一些不同的错误。你是否有空字符串(或
.ToString
s)或
code
中的
null
?@BenAllred:你是对的!!!我有一根空绳子,我没有考虑it@fasadat当前位置我刚刚从中创建了一个答案。
string sql = string.Format(@"SELECT I.ItemId FROM POS.Item I WHERE
I.Code IN ({0})", string.Join(",", code.ToArray()).TrimEnd(','));