C# c我是否应该将字符串与正则表达式匹配
我有一个文本,我将在该文本中查找匹配项,然后将结果放入数组 当我尝试创建字符串数组和字符串变量时,我发现从MatchCollection类型更改为字符串类型确实令人困惑。我得到的错误无法转换 我应该使用什么类型的数组和变量? 字符串类型的需求是什么。我只是在用它,因为我处理字符串 我想指出的是,我将在数组之间进行比较,以找到常见的匹配项 这是我到目前为止的全部代码 使用:C# c我是否应该将字符串与正则表达式匹配,c#,regex,string-matching,C#,Regex,String Matching,我有一个文本,我将在该文本中查找匹配项,然后将结果放入数组 当我尝试创建字符串数组和字符串变量时,我发现从MatchCollection类型更改为字符串类型确实令人困惑。我得到的错误无法转换 我应该使用什么类型的数组和变量? 字符串类型的需求是什么。我只是在用它,因为我处理字符串 我想指出的是,我将在数组之间进行比较,以找到常见的匹配项 这是我到目前为止的全部代码 使用: string sample = "1a2b3c4d"; MatchCollection matches = Regex.Ma
string sample = "1a2b3c4d";
MatchCollection matches = Regex.Matches(sample, @"\d");
List<string> matchesList = new List<string>();
foreach (Match match in matches)
matchesList.Add(match.Value);
matchesList.ForEach(Console.WriteLine);
或者使用LINQ:
List<string> matchesList2 = new List<string>();
matchesList2.AddRange(
from Match match in matches
select match.Value
);
matchesList2.ForEach(Console.WriteLine);
你能发布导致问题的代码吗?我会使用一个通用列表mylist=newlist;将匹配项保留在列表中。文本匹配的类型应声明为String:String match;。您可以将匹配项添加到列表中,如mylist.Addmatch;啊哈,所以我可以使用declar字符串匹配,而不是MatchCollection。foreach和.AddRange之间有什么不同?在foreach中,你一个接一个地添加值,AddRange会从linq requestlinq request创建的IEnumerable中添加值?那是什么?我应该用哪一个来处理对象。我将在类上创建数组。请随意查找msdn,foreach可能会运行得更快