您可以使用此扩展方法。请记住,如果您的输入字符串有任何问题,那么这将引发异常,您可以根据需要为其添加异常处理。 (如使用int.TryParse 或支持不同的分隔符而不是逗号)
public static class StringExtension
{
public static bool ContainsInt(this string str, int value)
{
return str.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(x => int.Parse(x.Trim()))
.Contains(value);
}
}
这会将您的字符串拆分为,,因此您将拥有所有数字,但以字符串表示形式。然后您尝试将它们转换为整数值。之后,您检查这些值是否包含您想要的整数值。
像这样使用它
var a1 = "1,2,12,13";
var a2 = "2,12,13";
var b1 = a1.ContainsInt(1); // gives true
var b2 = a2.ContainsInt(1); // gives false
如果你想在没有扩展方法的情况下使用它,你可以这样做
var a1 = "1,2,12,13";
var a2 = "2,12,13";
var b1 = a1.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(x => int.Parse(x.Trim()))
.Contains(1); // gives true
var b2 = a2.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(x => int.Parse(x.Trim()))
.Contains(1); // gives false