拆分以逗号分隔的值

我正在使用Visual Studio 2005和C#2.0,我正在尝试使用string.Split函数和lambda表达式拆分逗号分隔的字符串,如下所示:

 string s = "a,b, b, c"; string[] values = s.Split(',').Select(sValue => sValue.Trim()).ToArray(); 

我得到一个错误,表示表达式无法识别 – 我该如何解决这个问题?

.NET 2.0不支持LINQ- SO线程 ;
但是你可以在VS2005中创建一个3.5项目–MSDN 线程

没有lambda支持,你需要做这样的事情:

 string s = "a,b, b, c"; string[] values = s.Split(','); for(int i = 0; i < values.Length; i++) { values[i] = values[i].Trim(); } 

.NET 2.0不使用lambda表达式。 您需要编译到.NET 3.0才能使用它们。

没有Linq&Lambdas的方法

 string source = "a,b, b, c"; string[] items = source.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries); 

Lamba表达式不包含在c#2.0中

也许你可以在这里回复这篇文章

拆分以逗号分隔的文本框值并计算文本中的值总数,并在ritchTextBox中显示拆分值。

  private void button1_Click(object sender, EventArgs e) { label1.Text = ""; richTextBox1.Text = ""; string strText = textBox1.Text.Trim(); string[] strArr = strText.Split(','); int count = 0; for (int i = 0; i < strArr.Length; i++) { count++; } label1.Text = Convert.ToString(count); for (int i = 0; i < strArr.Length; i++) { richTextBox1.Text += strArr[i].Trim() + "\n"; } } 

您可以使用LINQBridge (MIT Licensed) 将对 lambda表达式的支持添加到C#2.0:

使用Studio的多目标和LINQBridge,您将能够使用C#3.0编译器的全部function编写本地(LINQ to Objects)查询,但您的程序只需要Framework 2.0。