以下代碼行爲我提供了包含所有時區的列表。僅選擇Linq至XML的元素的前n個字符
List<string> _timeZones = xdoc.Descendants("TimeZone").Select(x => x.Value).ToList();
但是,在這個特定的列表中,我寧願只有前11個字符。
有人知道如何在上面的Linq聲明中包含這個嗎?
非常感謝您的幫助,
喬伊
以下代碼行爲我提供了包含所有時區的列表。僅選擇Linq至XML的元素的前n個字符
List<string> _timeZones = xdoc.Descendants("TimeZone").Select(x => x.Value).ToList();
但是,在這個特定的列表中,我寧願只有前11個字符。
有人知道如何在上面的Linq聲明中包含這個嗎?
非常感謝您的幫助,
喬伊
您可以添加Substring
但它限制長度:
List<string> _timeZones = xdoc.Descendants("TimeZone").Select(x => x.Value.Substring(0, Math.Min(11, x.Value.Length))).ToList();
需要在select語句中添加額外的右括號,然後它像魅力一樣工作。非常感謝你!! –
抱歉,錯字 - 我顯然確實無法將代碼輸入SO框。 – NetMage
只需添加'子串(0,11)'到價值的終結? – maccettura
@maccettura List _hours = xdoc.Descendants(「Hour」)。Select(x => x.Value.Substring(0,11))。ToList();這給了我一個ArgumentOutOfRangeException。 –
聽起來像你有一些小於11個字符的值...所以先嚐試填充? 'PadRight(11).SubString(0,11)' – maccettura