日期:2014-05-17  浏览次数:20773 次

我刚C#入门,问大家一个问题。。。。
using System;
 class Student 
 {
  public string name;
 }
 class Program
 {
  public static void Main(String[] args)
  {
  int num;
  Console.WriteLine("how many students?");
   
  num = int.Parse(Console.ReadLine());
  Student []s = new Student[100];
  int i;
  for (i = 0; i < num ; i++)
  {
 
  Console.WriteLine("请输入第{0}个学生的姓名", i + 1);
  s[i].name = Console.ReadLine();
  }
  }
 }

怎么会出错了呢?

------解决方案--------------------
for (i = 0; i < num; i++)
{
s[i] = new Student();
Console.WriteLine("请输入第{0}个学生的姓名", i + 1);
s[i].name = Console.ReadLine();
}
------解决方案--------------------
探讨

class Student
{
public string name{get;set};
}

------解决方案--------------------
探讨

引用:

class Student
{
public string name{get;set};
}


那{get;set}; 是什么意思呢?

------解决方案--------------------
有了Set你就可以从外面给它赋值,有了get就可以得到它的值

方便更改需求 如果说有人让你把所有的StrName都加一个"_"的前缀
那么如果public string strName;,你用了100个地方,就要改100个地方

但是使用
属性,你只要改一处就好

C# code
       private string strName;
        public string StrName
        {
            get { return "_"+strName; }
            set { strName = value; }
        }