我需要經常轉換「串塊」(一個包含字符串的字符返回,例如從文件或一個文本框)成List<string>
。什麼是將返回字符分隔的字符串轉換爲列表的最佳方式<string>?
什麼是比以下ConvertBlockToLines方法更優雅的方式嗎?
using System;
using System.Collections.Generic;
using System.Linq;
namespace TestConvert9922
{
class Program
{
static void Main(string[] args)
{
string testBlock = "line one" + Environment.NewLine +
"line two" + Environment.NewLine +
"line three" + Environment.NewLine +
"line four" + Environment.NewLine +
"line five";
List<string> lines = StringHelpers.ConvertBlockToLines(testBlock);
lines.ForEach(l => Console.WriteLine(l));
Console.ReadLine();
}
}
public static class StringHelpers
{
public static List<string> ConvertBlockToLines(this string block)
{
string fixedBlock = block.Replace(Environment.NewLine, "§");
List<string> lines = fixedBlock.Split('§').ToList<string>();
lines.ForEach(s => s = s.Trim());
return lines;
}
}
}
您不需要傳遞'StrringSplitOptions.None',因爲這是Split()的默認行爲。 – 2010-02-24 13:38:26
@Seth:你錯了,在發送'string []'(而不是'char []')時必須通過它。在這種情況下,你可能並不清楚Environment.NewLine是一個'string []'。所以你的評論有助於強調它是好的是冗長:) – 2010-02-24 13:44:59
@silky:我的壞,你說得對。這就是我匆匆發表評論的原因... – 2010-02-24 13:55:40