我有下面類型的對象陣列插入字符串值到對象陣列
object[] myarray = new object[] { "1", "Success"};
我想在myArray的第一位置插入字符串值是否有任何方法 這樣做的結果應該是象下面這樣:
我想陣列像下面
object[] myarray = new object[] { "logFile","1", "Success"};
我有下面類型的對象陣列插入字符串值到對象陣列
object[] myarray = new object[] { "1", "Success"};
我想在myArray的第一位置插入字符串值是否有任何方法 這樣做的結果應該是象下面這樣:
我想陣列像下面
object[] myarray = new object[] { "logFile","1", "Success"};
如果你需要堅持使用數組:
myarray = new object[]{"logFile"}.Concat(myarray).ToArray();
經典的,非LINQ(和最有效的)方法是使用Array.Copy
:
var newArray = new object[myarray.Length + 1];
newArray[0] = "logFile";
Array.Copy(myarray, 0, newArray, 1, myarray.Length);
// myarray = newArray;
或者相反:'myarray = myarray.Concat(new object [] {「logFile」})。ToArray();'。 –
@Tim你的解決方案很好,但對初學者來說很複雜:) –
@BRAHIMKamel使用(基本)Linq並不複雜。這只是一個將兩個數組合並在一起的函數,轉換爲一個列表,然後在我看來插入更復雜的聲音。 –
您可以切換到List<string>
可以動態增長
List<string> myArray= new List<string> { "1", "Success"};
,並使用List.Insert
myArray.Insert(0,"LogFile");
從MSDN List.Insert如何工作
如果計數已經等於能力,該列表的容量增加了自動重新分配內部數組,和在添加新元素之前,現有元素被複制到新數組中。 如果index等於Count,則將項添加到List的末尾。
你得到了什麼異常 –
是有一個插入https://msdn.microsoft.com /query/dev12.query?appId=Dev12IDEF1&l=EN-US&k=k(System.Collections。 Generic.List%601.Insert); k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.6.2); k(DevLang-csharp)&rd = true –
您應該將'myArray'重命名爲'myList' ...名字很漂亮當你有一個名爲'myArray'的List時會感到困惑。 @John確保您在'System.Collections.Generic.List
[添加值的可能的複製到一個C#數組](https://stackoverflow.com/questions/202813/adding-values-to-ac-sharp-array) –