拆分逗号分隔值

时间:2013-07-10 13:25:34

标签: c#

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

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

我收到错误消息,表示无法识别表达式 - 我该如何解决?

6 个答案:

答案 0 :(得分:34)

.NET 2.0不支持LINQ - SO thread;
但您可以在VS2005中创建一个3.5项目 - MSDN thread

如果没有lambda支持,您需要执行以下操作:

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

答案 1 :(得分:10)

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

答案 2 :(得分:4)

没有Linq&amp; amp; lambda表达式

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

答案 3 :(得分:2)

Lambda表达式不包含在c#2.0

也许您可以参考this post here on SO

答案 4 :(得分:2)

拆分以逗号分隔的文本框值,并计算文本中的值总数,并在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";
        }
    }

答案 5 :(得分:0)

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

  

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