簡體   English   中英

拆分逗號分隔值

[英]Split comma-separated values

我正在使用 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);

C# 2.0 中不包含 Lamba 表達式

也許你可以在 SO 上參考這篇文章

拆分以逗號分隔的 Textbox 值並計算文本中值的總數,拆分后的值顯示在 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 許可)向 C# 2.0 添加對 lambda 表達式的支持:

借助 Studio 的多目標和 LINQBridge,您將能夠使用 C# 3.0 編譯器的全部功能編寫本地(LINQ to Objects)查詢,而您的程序只需要 Framework 2.0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM