更可再使用,
static IEnumerable<KeyValuePair<string, string>> SplitPairs(
this string source,
params char[] seperators)
{
var values = source.Split(seperators);
for(var i = 0; i < values.Length; i += 2)
{
yield return new KeyValuePair<string, string>(
values[i],
values[i + 1]);
}
}
,所以你可以做,
var yTlookup = YT.SplitPairs(':').ToDictionary(p => p.Key, p => p.Value);
var playList = yTLookup["playlist"];
,或者如果你不想延期,
var segments = YS.Split(new[] { ':' });
var ySlookup = Enumerable.Range(0, segemnts.Length/2)
.ToDictionary(i => segments[i * 2], i => segments[(i * 2) + 1]);
所以你可以做,
var playlist = ysLookup["playlist"];
任何一種方法一旦你想從序列中獲得另一個值,就會得到回報。
我會使用這種方法,因爲這是一個非常簡單的程序,正則表達式通常大大降低了代碼的可讀性。 – Amicable
hmm ... tats gr8 :) – user3379655
您也可以在「播放列表:」上分割。 – iheanyi