C# 结构中的数组如何赋值?
using System;using System.Collections.Generic;using System.Text;using System.Collections;namespace TestCshap{ public struct Elem { public string [] name; } class Program { static void Main(string[] args) { Elem e = new Elem(); e.name[0] = "fsdfsdfsdf"; e.name[1] = "dad"; Console.WriteLine(e.name[0]); Console.WriteLine(e.name[1]); Console.ReadLine(); } }}[color=#FF0000]如上C#代码, e.name[0] = "fsdfsdfsdf";这样做为什么要报错,难道不对吗?怎么改啊?[/color]Elem e = new Elem(); string[] s = new string[2]; s[0] = "fsdfsdfsdf"; s[1] = "dad"; e.name = s; Console.WriteLine(e.name[0]); Console.WriteLine(e.name[1]); Console.ReadLine();
[解决办法]
3楼:
结构中不能有实例字段初始值设定项
[解决办法]
setvalue
[解决办法]
没有设置初始长度不能用e.name[0] 这样的写法
[解决办法]
public int n=2;public string [] name=new string[n];// 数组在初始化的时候规定存储空间也就是数组长度
[解决办法]
Elem em;
em.name = new string[5];
em.name[0] = "3213213213";
[解决办法]
动态的?那就改用ArrayList吧。。
[解决办法]