创建以逗号分隔的字符串行

时间:2019-06-25 12:29:14

标签: c# tsql

我有6个布尔“类别”:

Category0, Category1, Category2, Category3, Category4, Category5.

我也有一个“ String ListCat”变量。此变量必须类似于:

ListCat = "0,1,2,3,4,5"

如果Category0 = true,则显示“ 0”,如果category1 = true,则显示“ 1” ...

例如:

Categorie0 = true;
Catgorie1 = true;
Categorie5 = true;

然后,ListCat就像:

ListCat ="0,1,5"

我必须执行此操作才能完成此查询:

string StSQL = @"SELECT [Type Jour] FROM CodificationTypesJour where Categorie IN (" + ListCat + ");

包含逗号在内,我该怎么办?

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以创建要添加到结果中的值的数组,然后使用String.Join Method将它们连接起来。

例如,如果您拥有:

bool category0 = true,
     category1 = true,
     category2 = false,
     category3 = false,
     category4 = false,
     category5 = true;

然后您可以创建一个数组:

string[] values = 
{
    category0 ? "0" : null,
    category1 ? "1" : null,
    category2 ? "2" : null,
    category3 ? "3" : null,
    category4 ? "4" : null,
    category5 ? "5" : null
};

结果将是:

var result = string.Join(",", values.Where(s => s != null));

// output: "0,1,5"