C#中看了void不理解,无返回值和有返回值什么区别?为什么有的要用static,求哪位给个通俗易懂的解释

static void Main() //静态无返回值
static int Main() //静态有返回值
static void Main(string[] args) //静态无返回值带参函数
static int Main(string[] args) //静态有返回值带参函数

简单的说,函数就是一个算法,有没有返回值是跟这个函数做什么的有关系。
一般情况下,求和这类的就要返回值,比如
int add(int a,int b)
{
return a+b;//这就返回a+b的和,用函数的时候,你只要传a,b的值就得了
}
用的时候这样:
int s=add(100,200); //就把100+200也就是300的值赋给s了
这种情况就是相当于你去A地做买东西,你肯定得拿东西回来。你拿回来的东西也就是返回值
-------------------------------------------
还有些不用返回值的,比如,输出,或者给有地址的变量赋值等 这些函数前面就可以用void 表示无返回值,当然你也可以返回你想返回的。比如说成功或者失败返回true or false.也可以随意返回一个int型的 1或者0
比如:
void pri(int i)
{
printf("%d",i);//这个就是打印一个整型的i出来
}
这种就像你去A地不干什么,就去那儿吼两句,也就不用拿什么回来了。
还有种给有地址的变量赋值。那就相当于你去a地寄了一封信,也不用什么什么回来。

啊,打得手累,我就这样理解了。给是清楚点了,呵呵
例如你要计算5+3=?,这个就需要返回值啦,但你要是排列字符之类的,就不需要返回值,因为它是对字符进行操作,没有数字。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-11
实际上 再底层来看 所有函数都是有返回值 的。只是带 void 类型的函数可以省略返回值数据。
说通俗点,用static 是为了不实例化某一对象就调用该类的方法,方便 。可以用类名.静态方法
写的多点你自然就懂了,用不用static 完全 在自己的想法。
第2个回答  2014-02-11

这么写吧   

 class Class1
    {
        public void Add(int a,int b)
        {
            int c = 0;
            c = a + b;
        }
        public int Add(int a, int b)
        {
            int c = 0;
            c = a + b;
            return c;
        }

        public static void Add(int a, int b)
        {
            int c = 0;
            c = a + b;
        }

        public static int Add(int a, int b)
        {
            int c = 0;
            c = a + b;
            return c;
        }
    }
    -----------------------------------------------
      Class1 myclass = new Class1();
        int result = 0;
        int k = 1;
        int j = 2;
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
          //  result = myclass.Add1(k,j);//出错了 无法将类型Void 转换成Int
            result = myclass.Add2(k,j);

         //   result = Class1.Add3(k, j);//出错了 无法将类型Void 转换成Int
            result = Class1.Add4(k, j);
        }

这是一个Add方法, 传递进去两个Int 变量,如果是 Add1和Add3,它执行完什么都不做,就它自己知道它执行了什么操作, 如果是Add2和Add4,它返回一个int类型的C 作为结果。Add3和Add4是静态方法,不需要创建实例就能访问,通过类名或对象名都能访问它。你可以把Static想象成他就存放在内存中一个固定地址,好比你知道小明家在哪里,只需要写他的姓名(类名)加地址(。静态方法名)就可以了 

第3个回答  2014-02-11
static静态的话,使用时类不用实例化;
有无返回值,要看你设计的方法是不是需要返回值,比如你设计个登陆方法,肯定是需要返回值,否则的话,就不知道登陆用户是否合法。
相似回答