C# void用法 - TOMMYHU - 专注互联网开发及运营技术,提供相关资料及软件下载,奇趣网络时事评论!
Mar 30

C# void用法 不指定

tommyhu , 08:14 , ASP.NET , Comments(1) , Trackbacks(0) , Reads(5957) , Via Original Large | Medium | Small
public   void   A(string   names)是可以的,public   void   int   A(int   age)不行
public int   A(int   age)又可以,跟括号里的参数无关,方法名前面的void,int是方法返回的类型,
每个方法都有一个返回类型,void是一个比较特殊的东西,你可以叫它空类型,它表示你的方法不需要返回值,
而其他的比如public int A(int age)这样的方法,表示在A方法里面必须返回一个int类型的值,
必须有return语句,而且return对象类型必须是int类型
举例:
public int A(int age)
{
    age += 1;
    return age;
}
这个方法返回类型是int,它最后返回了一个age,age是int类型的
而对于void类型的方法
public void A(int age)
{
    age += 1;    
}

public void A(int age)
{
    age += 1;
    return;    
}
都是可以的
后一个虽然有return语句,但是他没有return任何对象,所以是可以的,
而return任何其他类型都不对。

应该很容易理解吧

----------------------------
这么说吧,你要写一个方法 A 执行某些代码。
首先你要一对花括号“{ }”告诉电脑那些代码在哪。就出现如下写法:
A
{
    代码...
}

你方法 A 想公开,在整个程序的任意一个角落都可以使用,那就需要加修饰符来说明:
public A
{
    代码...
}
当然你也可以不加修饰符,那程序会默认你加的是 private,也就是说以下两种写法效果相同:
A
{
    代码...
}
private A
{
    代码...
}

然后你的方法可能需要传入一个或多个数(参数),或者什么数也不需要传入,那就需要一对圆括号:
A(int a)
{
    代码...
}
A()
{
    代码...
}
注意:你可以不写参数,就像上面那么空着,但你必须要加上圆括号告诉电脑你的参数是空着的。

最后方法可能会返回一个数或一个字母(返回值),也可能什么也不返回,但返回的话,个数肯定是一个,电脑唯一不知道的就是这一个是什么,数?还是字母?所以你要写上返回值的类型,注意,对应返回值只有一个的特点,返回值类型也只能写一个。
int A(int a)
{
    代码...
}
char A(int a)
{
    代码...
}
然 后就出现你说的这种问题,如果方法仅仅执行了一些操作,例如在屏幕上显示一行字就结束了,没有需要返回的值。但从编译原理上来说,方法肯定会返回一个数 字,哪怕是任意一个数字,所以你必须给这个返回的数字规定一个类型。这也就是 void 出现的原因。它作为一种特殊的类型修饰符存在,代表什么也不是的量。其地位应该是与 int char...相等的。
所以你这样写是错的,你要明确的告诉电脑,你方法 A 返回的值是int量,还是void量,不能同时写两个。当然,如果是void,就代表返回的值无意义,不可以被任何代码接收并使用。
public   void   int   A(int   age)

------------------------------------
void 标明的方法是指这个方法不"返回"任何"东西"(包括值啊,引用这些)它和传入参数不相
干;
例子:
int M(int a,int b){...}//有两个传入参数的方法,并且它返回一个int类型的值
void M(int a,bool b){...}//有两入传入参数的方法,并且它没有任何返回(这种方法
也称为一个"过程")
------------------------------------
不返回参数或值的时候都要用void,要返回则带返回的类型

------------------------------------
lz的解释得都很清楚了。。
返回的类型就是
public int a()
{return int};这个就是带返回的类型
public void a()
{};这个就是不带返回的类型的

------------------------------------
简单的解释是:如果有回传:就不用VOID
如果没有回传就必须用VOID

------------------------------------
不返回参数的用VOID 返回参数的用数据类型

------------------------------------
谢谢各位的帮忙,我现在明白了,尤其是anliuty ,说的很好,但我还有点要问,这两个方法都实现了age+1的功能,在实际应用中我在什么情况下,怎么区分使用那个,比如在实际编程中
public   int   A(int   age)
{
        age   +=   1;
        return   age;
}

public   void   A(int   age)
{
        age   +=   1;          
}

------------------------------------
什么情况下需要做一个返回值的方法,什么情况下做一个不需要返回值的方法

------------------------------------
这就看你的具体需求了,
举个例子,你在页面上写一个绑定GridView的方法,就可以写成不要返回值的方法
pirvate void BindGridView()
{
    string strSQL = "xxxxxxxxxxx";
    DataTable dt = GetDataTable();
    this.GridView1.DataSource = dt;
    this.GridView1.DataBind();
}
这个方法不需要返回值,它调用了一个方法GetDataTable,为什么要调用这个方法,
因为GridView绑定的是数据,它需要数据源,所以GetDataTable方法给它提供数据源,就需要返回值,
这个方法返回的是一个DataTable,一个在内存中的数据表,
GetDataTable方法就是去数据库拿数据的,拿到数据后在内存中呈现为一个表,
至于怎么实现,随便哪本ASP.NET入门的书上都会有,网上更是一搜一堆
总之方法要不要返回值,不是人为规定的,而是看设计者要实现的这个方法的具体目的

------------------------------------
打个比方说
//做2个数的加法 需要用到相加以后的结果 所以需要返回值
private int add(int a,int b)
{
return a+b;
}
//让一个数字只减1 不需要用到结果 减了以后就不用管了
private void sub(int a)
{
a--;
}
▲返回顶部

互联网开发网友 Email Homepage
2013/09/26 11:05
Abercrombie and Fitch es sobre todo una marca famosa que todo se hace con un gran mercado para los hombres y mujeres jóvenes de todo el mundo. El mundo estilo también acepta AF por su alta calidad y mano de obra innovadora. Casi todas las marcas de renombre será copiado en el enorme mercado.
Un buen número de los médicos dijo que tenía una buena oportunidad de no dejar con vida al hospital, de Kaiba madre abril dijo a Science Daily. En ese momento, estábamos desperate.who había creado una férula traqueal 3Dprinted hecho de un material esponjoso que se acaban disolviendo en el cuerpo.
Y puestos de trabajo siguen siendo escasos. El último informe federal, que mostró los salarios en descenso y pérdidas de empleo más altos de lo esperado en junio, está aumentando las preocupaciones sobre la capacidad de los consumidores para gastar en los próximos meses. Los comerciantes están confiando más ahora en los compradores cheques para impulsar las compras por los consumidores otras dos fuentes principales de tarjetas fundingcredit y la equidad de su casa loanshave encogidos.
Año calificación puntaje de corte fue de 623, pero el corte se espera que este año sea mucho menor. Hoy a Tazón Mor Lanes. Los mejores 63 puntuaciones con antelación handicap match doubleelimination juegan este fin de semana en el Tazón Mor. Sin embargo, por lo general, Huse considerados californios política y socialmente atrasada y cree su indolencia estaba retrasando el desarrollo de la ciudad. Parte de esto fue religiosa. Huse era un Congregationalist firme, y se sorprendió de que la gente se atrevería a disfrutar de diversas diversiones en sábado.
American Mining y Tunneling LLC es una empresa de servicios mineros con sede en Spokane, Washington. La empresa ofrece desarrollo de la mina y los servicios de construcción para la industria minera que van desde la exploración etapa inicial hasta el final de recuperación de vida de la mina. Los servicios internacionales se prestan a través de sus divisiones norteamericanas en Elko, Nevada, Winnemucca, Nevada, Spokane Valley, Washington y Hermosillo, México.
Mientras la prosperidad reinaba, los bancos estaban dispuestos a prestar a tasas bajas, incluso a los países más débiles, como Grecia. El euro significó prestamistas no tenían que preocuparse por la inflación en los países individuales. Grecia y otros aprovecharon la apertura de los préstamos en gran medida para financiar sus presupuestos hinchazón.
Challis, Idaho abarca 3.000.000 hectáreas impresionantes de desierto. La región ofrece rafting en aguas bravas, senderismo, bicicleta de montaña, observación de vida silvestre, observación de aves, kayak, canotaje, camping y rockhounding. El río de la localidad Frank Church of No Return Wilderness Area es la mayor masa de área silvestre en los Estados Unidos excluyendo Alaska .
Pages: 1/1 First page 1 Final page
Add a comment

Nickname

emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot