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]
[解决办法] e.name = new string[10];//要先初始化大小 [解决办法] 因为 public string [] name;没设置数组的长度 [解决办法] 确定数组长度以后(假设长度为2) using System; using System.Collections.Generic; using System.Text; using System.Collections;
namespace TestCshap { public struct Elem { public string [] name=new string[2]; } 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(); } } }
[解决办法]
C# code
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] 这样的写法 [解决办法]
C# code
public int n=2;public string [] name=new string[n];// 数组在初始化的时候规定存储空间也就是数组长度 [解决办法] Elem em; em.name = new string[5]; em.name[0] = "3213213213"; [解决办法] 动态的?那就改用ArrayList吧。。 [解决办法]
[解决办法] Elem e = new Elem(); e.name=new String[2];//必须先进行初始化,才能给其赋值啊。 e.name[0] = "fsdfsdfsdf"; e.name[1] = "dad"; Console.WriteLine(e.name[0]); Console.WriteLine(e.name[1]); Console.ReadLine();