C# 分割逗号分隔的值
我正在使用Visual Studio 2005和C#2.0,并尝试使用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
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”