C# 检测 string 是否包含 list元素
时间: 2023-09-20 19:07:14 浏览: 50
在 C# 中,你可以使用 LINQ(Language Integrated Query)来检测一个字符串是否包含列表中的任何一个元素。下面是一个示例代码:
```csharp
using System;
using System.Linq;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> list = new List<string> { "apple", "banana", "orange" };
string input = "I like apples";
bool containsElement = list.Any(input.Contains);
Console.WriteLine(containsElement);
}
}
```
在上面的代码中,我们首先创建了一个包含若干字符串的列表 `list`,然后定义了一个待检测的字符串 `input`。通过使用 LINQ 的 `Any` 方法和 `input.Contains` 来检测是否有任何一个列表元素存在于输入字符串中。最后,我们输出结果。
请注意,上述代码仅检测了整个字符串是否包含列表中的元素,而不是仅仅匹配单词。如果你需要进行更复杂的匹配操作,请提供更详细的需求说明。
相关问题
c# List<string> 随机选取50个元素
可以使用C#中的Random类和List的Count属性来实现。具体代码如下:
```csharp
List<string> list = new List<string>(); // 假设这里已经有了字符串列表
Random rand = new Random();
List<string> randomList = new List<string>();
int count = 50; // 随机选取的元素个数
while (randomList.Count < count && list.Count > 0)
{
int index = rand.Next(list.Count);
randomList.Add(list[index]);
list.RemoveAt(index);
}
// randomList 中就是随机选取的50个元素
```
这段代码先创建了一个空的字符串列表`randomList`,然后使用`Random`类生成随机数,从原列表`list`中随机取出一个元素,添加到`randomList`中,并从`list`中删除该元素。重复此操作直到`randomList`中有50个元素或者`list`中没有元素为止。最后,`randomList`就是随机选取的50个元素。
C# String 分隔符 转 list
以下是两种C#将字符串分隔符转为列表的方法:
1. 使用Split方法和foreach循环:
```csharp
string str = "a a a a a\n b b b b b\n";
string[] liststr = str.Split('\n');
List<string> mylist = new List<string>();
foreach (var item in liststr)
{
mylist.Add(item);
}
Console.Write(mylist.Count); // 输出:2
Console.Write(mylist[1]); // 输出: b b b b b
```
2. 使用ToCharArray方法和Split方法:
```csharp
string str1 = "a a a a a\n b b b b b\n";
char[] p = str1.ToCharArray();
Console.WriteLine("data char length:" + p.Length);
string[] liststr1 = str1.Split(p[0]);
List<string> mydata = new List<string>();
foreach (var item in liststr1)
{
mydata.Add(item);
}
```