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.column
和variable
都是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);
这当然只有在一切都是数字的情况下才有效
我在数据库的 table 中有一列,字符串以以下形式存储:1,5,10
。在我的应用程序中,我想检查此列中是否存在变量。
如果我这样检查:
table.column.Contains(variable)
如果 variable = 0
那么我会得到 true 因为 10
包含 0
但它不正确。
我知道我可以做这样的事情:
table.column.Split(',')
但是我如何检查 table.column
字符串中是否有任何部分与变量相等?
假设table.column
和variable
都是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);
这当然只有在一切都是数字的情况下才有效