C#:检查字符串是否包含在以逗号分隔的字符串中

C#: Check if string is contained in a string separated by commas

我在数据库的 table 中有一列,字符串以以下形式存储:1,5,10。在我的应用程序中,我想检查此列中是否存在变量。

如果我这样检查:

table.column.Contains(variable)

如果 variable = 0 那么我会得到 true 因为 10 包含 0 但它不正确。

我知道我可以做这样的事情:

table.column.Split(',') 

但是我如何检查 table.column 字符串中是否有任何部分与变量相等?

假设table.columnvariable都是string值,你可以这样做:

table.column.Split(',').Contains(variable)

我认为您遇到的问题是,当您进行拆分时,结果将是一个字符串数组。所以 tecincally contains 1 和 contains 10 都会命中。假设您的列表是数字,您可以进行拆分并将它们转换为数字以解决此问题。

var sNumbers = "9,5,10";

var numbers = sNumbers.Split(',').Select(Int32.Parse).Contains(1);

这当然只有在一切都是数字的情况下才有效