C# C-检查字符串是否有

C# C-检查字符串是否有,c#,string,C#,String,如何检查一个字符串是否包含另一个字符串?既然可以使用LINQ,为什么还要迭代?我想您要求获取数组中其他字符串的所有子字符串。如果我错了,请纠正我: public bool HasString(string item, List<string> arrayOfStrings) { return arrayOfStrings.Contains(item); } var result = strings.Where(s => strings.

如何检查一个字符串是否包含另一个字符串?

既然可以使用LINQ,为什么还要迭代?我想您要求获取数组中其他字符串的所有子字符串。如果我错了,请纠正我:

    public bool HasString(string item, List<string> arrayOfStrings)
    {
        return arrayOfStrings.Contains(item);
    }
var result = strings.Where(s => strings.Any(s2 => s2.Contains(s)));
string bigString = "something";
string testString = "s";
bool containsTestString = bigString.IndexOf(testString) > -1;
更新

更新之后,这个问题似乎比原来容易多了。如果您只想知道某个字符串是否包含另一个字符串,请使用contains方法:

var s = "Hello World!";
var subString = "Hello";

var isContained = s.Contains(subString);
或者,如果您想进行不区分大小写的搜索,您必须采取一些不同的做法:

var s = "Hello World!";
var subString = "hello";

var isContained = s.IndexOf(subString, 
    StringComparison.InvariantCultureIgnoreCase) > 0;

您可以使用名为IndexOf的方法

string s1 = "abcd";
string s2 = "cd";
if(s1.IndexOf(s2)>-1) {
   // if s2 is found in s1
}

我读它的方式是你问一个大字符串是否包含另一个短字符串

string bigString = "something";
string testString = "s";
bool containsTestString = bigString.IndexOf(testString) > -1;

字符串没有对象…?你能再详细说明一下吗?如果我理解的话,你有一个字符串数组,你想看看你的另一个字符串是否包含这些字符串吗?当我写o.o为了清晰起见编辑的时候,我并没有真正注意到。我建议你阅读,让你明白为什么这个问题如此糟糕。如果你懒得写一个合适的问题,不要期望得到一个合适的答案。那不完全是一个数组,是吗?虽然,在内部,这是。我不认为这是OP想要的。如果数组包含该项,则将返回此消息。我想他是在寻找一种东西,如果该物品在数组中包含任何东西,他会返回。为了清晰起见,我编辑了它。是的,这是一个可怕的问题。我认为这是倒退。这将返回数组中字符串和数组字符串精确的项目。如果字符串包含数组项,OP的请求将显示为请求。虽然我可能错了,但问题并不是很清楚——假设s2是传入的字符串?对linq来说是的!我想这就是OP想要的-@Joel-没有。假设只有一个字符串数组。对于数组中的每个元素,OP都想知道它是否是同一数组中任何其他字符串的子字符串。我想更新是我想要的,但它会返回什么来确定S是否包含子字符串?@shorty876-它返回一个布尔值true/false。为什么在Contains上使用IndexOf?我只是想展示另一种方法。顺便说一下,Contains更好。为什么要在Contains上使用IndexOf?
string bigString = "something";
string testString = "s";
bool containsTestString = bigString.IndexOf(testString) > -1;