2016-03-06 196 views
1

我使用下面的代码使用,我想一个字符串添加到输出,但我得到这个错误C#console.writeline错误操作+“新”

运营商“+”不能应用于“方法组”类型的操作数和 “字符串”。

 class Program 
{ 
    static void Main(string[] args) 
     { 
      string sample = "1a2b3c4d"; 
      MatchCollection matches = Regex.Matches(sample, @"\d"); 

      List<myclass> matchesList = new List<myclass>(); 

      foreach (Match match in matches) 
      { 
       myclass class1 = new myclass(); 

       class1.variableX.Add(match.Value); 

       matchesList.Add(class1); 
      } 

     foreach (myclass class2 in matchesList) 
      class2.variableX.ForEach(Console.WriteLine + " "); // <---- ERROR 


     } 


} 

这里是类

回答

2

如果你想使用WriteLine方法之前修改字符串,你有两种可能性:

  • class2.variableX.ForEach(s => Console.WriteLine(s + " "));

  • class2.variableX.Select(s => s + " ").ForEach(Console.WriteLine);
+0

它的工作大。 但在我的大代码,它只有当我这样做的时候: (“”+ s)。 (s +“”)其他人正在显示“”里面的内容,只有 –

+0

,原因可能是什么。 –

+0

我也不明白什么。选择做。 非常感谢 –