函数为什么有的有类型,有的没有?

fengyun6 2003-07-21 09:50:18
函数为什么有的有类型,有的没有?
比如:
public Class1()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
这个函数直接写函数名称,而下面这个则有函数类型,好像一般的变量一样,有函数类型?
public SqlConnection GetConnection(){//检查连接的属性
if(SqlS.State.ToString()=="Closed"){//若尚未打开
SqlS=new SqlConnection();
SqlS.ConnectionString="data source=Localhost;" +
"initial catalog=SampleDataBible;user id=sa;pwd=7758521";
SqlS.Open();
}
return SqlS;//返回
}
请问,这两种函数都是函数吗?除了第二个有返回值外,是否第一个就像VB中的过程,而第二个像VB中的函数一样呢?
另外,函数和方法有和区别?
...全文
37 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
NETFUNNER 2003-07-21
  • 打赏
  • 举报
回复
构造函数没有返回值,就算是void也不行,其余的函数都应该有返回值,无外乎void和各种系统内定或者自己定义的类型。
zhixuan 2003-07-21
  • 打赏
  • 举报
回复
你的第一个是类的构造函数,构造函数是没有返回值的,并且不能带void标识符,C#中没有过程的概念,和C++一样只有函数,可以认为过程归到函数里面了,是一种特殊的函数(没有返回值的)函数(void)如果有返回值的函数你调用的时候仍可以把他当作是vb中的一个过程(即不接收返回值)例如:
class A
{
public string ToString(int i)
{
//todo:
return "kkk";
}
}
你在某个函数里调用时可以直接调:
   class A a;
a.ToString(1);
你也可以接收返回值:
   class A a = new A();
string strB = a.ToString(1);

另外一种就是相当于vb中的过程一样的函数没有返回值例如:
class B
{
public void ShowMessage(string message)
{
MessageBox.Show(message);
}
}

class C
{
public void showMessage()
{//直接调用
   class B b = new B();
b.ShowMessage("kkk");
}
}
dahuzizyd 2003-07-21
  • 打赏
  • 举报
回复
你所说的第一个是类的构造函数,构造函数是没有返回值的。
树猫 2003-07-21
  • 打赏
  • 举报
回复
有的需要返回值,就有类型,这个类型就是返回值的数据类型。

函数是传统的面向过程的说法。
方法是面向对象编程中的说法。

110,529

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧