我有下面类型的对象阵列插入字符串值到对象阵列
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) –