[英]Visual C# converting custom IEnumerable to string[]
我正在用C#編寫插件代碼,並且有一個自定義IEnumerable,它實際上是一個字符串數組。 但是,不能對數組元素執行任何字符串操作,因為它們不是<string>
類型的。 但是我需要它們成為字符串,並且必須將它們作為字符串進行操作。
因此,我添加了以下兩行代碼以將數組轉換為字符串:
var arrayRawSourceText = EditorController.ActiveDocument.ActiveSegmentPair.Source.AllSubItems.ToArray();
string[] arraySourceText = new string[arrayRawSourceText.Length];
for (int i = 0; i < arrayRawSourceText.Length; i++) { arraySourceText[i] = arrayRawSourceText[i].ToString(); }
只有兩行,但我想知道是否存在將數組轉換為<string>
的更簡單方法。 像lambda表達式或其他任何使之更簡單的方法。
如果AllSubItems
實現IEnumerable,我猜這個代碼片段應該可以工作:
var arraySourceText = EditorController.ActiveDocument
.ActiveSegmentPair
.Source
.AllSubItems
.Select(t => t.ToString())
.ToArray();
我已經看到您已經接受了答案,但是對於其他搜索者來說,這也可能適合:
var arraySourceText = EditorController.ActiveDocument
.ActiveSegmentPair
.Source
.AllSubItems
.Cast<string>()
.ToArray();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.