簡體   English   中英

Visual C#將自定義IEnumerable轉換為字符串[]

[英]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.

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