Dividir valores separados por comas

Estoy usando Visual Studio 2005 y C # 2.0, y estoy tratando de dividir una cadena separada por comas usando la función string.Split y una expresión lambda de la siguiente manera:

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

Recibo un error que dice que la expresión no se reconoce. ¿Cómo puedo resolver esto?

.NET 2.0 no admite el subproceso LINQ – SO ;
Pero puede crear un proyecto 3.5 en VS2005 – subproceso de MSDN

Sin el soporte lambda, tendrás que hacer algo como esto:

 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 no usa expresiones lambda. Necesitas comstackr a .NET 3.0 para usarlos.

Una forma de hacerlo sin Linq & Lambdas.

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

La expresión Lamba no está incluida en c # 2.0

Tal vez usted podría referir a este post aquí en SO

Dividir un valor de Cuadro de texto separado por comas y contar el número total de valores en texto y los valores divididos se muestran en 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"; } } 

Podría usar LINQBridge (con licencia MIT) para agregar soporte para las expresiones lambda a C # 2.0:

Con el multi-targeting de Studio y LINQBridge, podrá escribir consultas locales (LINQ to Objects) usando todo el poder del comstackdor C # 3.0, y sin embargo, sus progtwigs solo requerirán Framework 2.0.