Inc*_*ito 1 c# arrays string match string-matching
我有一个字符串和一个数组,我想检查字符串,并查找该字符串是否包含数组中的任何字符串.
我的数组最多包含10个元素.
string[] stringArray = { "apple", "banana", "orange" };
string text="I want an apple";
public static string getItem(string text)
{
//check text for stringArray items
//return item (apple, banana, orange)
}
string item = getItem(text);
Run Code Online (Sandbox Code Playgroud)
所以我正在寻找的是创建一个从中返回项目的方法.另外我想知道是否有任何替代方法可以使用Enum或List <>来完成此操作.
最后我做了这样的方法
public static string getItem(string text)
{
string[] stringArray = { "Apple", "Banana", "Orange" };
string item = stringArray.Where(s => text.ToUpper().Contains(s)).DefaultIfEmpty("None").FirstOrDefault();;
return item;
}
Run Code Online (Sandbox Code Playgroud)
只需要一点LINQ-iness,这很简单:
return stringArray.Where(s => text.Contains(s)).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
这假设您只想返回第一个匹配的字符串,并且您希望进行区分大小写的比较.如果没有,可以相对容易地进行微小的修改以改变事物.
如果您的源代码也是一样的话,上面的代码也会同样List<string>有效(实际上,任何实现的代码IEnumerable<string>都可以在其位置上运行).Enum另一方面,An 并不适合这种事情.
| 归档时间: |
|
| 查看次数: |
2990 次 |
| 最近记录: |