C# 分割逗号分隔的值

C# 分割逗号分隔的值,c#,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(); 我收到一个错误,表示表达式无法识别--如何解决此问题?.NET 2.0不使用lambda表达式。您需要编译到.NET3.0才能使用它们。Lamb

我正在使用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不使用lambda表达式。您需要编译到.NET3.0才能使用它们。

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


也许您可以参考

。NET2.0不支持LINQ-
但是你可以在VS2005中创建一个3.5项目-

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

string s = "a,b, b, c";
string[] values = s.Split(',');
for(int i = 0; i < values.Length; i++)
{
   values[i] = values[i].Trim();
}
string s=“a,b,b,c”;
字符串[]值=s.Split(',');
for(int i=0;i
一种不用Linq&Lambdas的方法

string source = "a,b, b, c";
string[] items = source.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
您可以使用(MIT许可)向C#2.0添加对lambda表达式的支持:

借助Studio的多目标和LINQBridge,您将能够编写 使用C#3.0的全部功能进行本地(LINQ到对象)查询 但您的程序只需要Framework 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";
        }
    }
private void按钮1\u单击(对象发送者,事件参数e)
{
标签1.Text=“”;
richTextBox1.Text=“”;
字符串strText=textBox1.Text.Trim();
字符串[]strArr=strText.Split(',');
整数计数=0;
对于(int i=0;i
添加更多详细信息。更多的细节意味着有更好的机会得到答案——你不能在C#2中使用Lambdas。如果他想使用C#3.3.5,那么这些都添加到了C#3.3.5中。这不是.NET支持lambda表达式的问题。这是一个C#2不支持lambda表达式的问题。在面向.NET2.0的代码中使用lambda表达式是完全可行的,只要您使用C#3+编译器构建。还有用于.NET2的LINQtoObjects实现。@JonSkeet说得很好,Jon--我想我们并没有真正回答他的问题。谢谢你的澄清!正如Jon所说,问题在于C#2.0,而不是.NET2.0。Lambda表达式是语言的一项功能,而不是运行时。他使用的是Visual Studio 2005,因此没有访问C#3.0编译器的权限,因此无论如何都无法编译Lambda表达式。除此之外,我认为元素中会丢失空格,因此拆分“ab,cd”会得到“a”、“b”、“C”、“d”而不是“ab”,“c d”