none
C#中()的含义。

    问题

  •  public static int Asc(string character)
            {

                if (character.Length == 1)
                {
                    System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
                    int intAsciiCode = (int)asciiEncoding.GetBytes(character)[0];
                    return (intAsciiCode);

                }
                else
                {
                    throw new Exception("character is not valid");



                }

            }

    在C#中经常会遇到() 那么这个()在C#中是什么意思呢?听别人说代表了什么方法,参数,这个作用一直在我脑海里很模糊。那么()到底起了个什么作用呢?可否详细解释一下?

    就以上面的那个代码为例,为何小()有的后面跟了;有的后面却不跟;这又是为什么呢?

    2017年1月21日 2:41

答案

  • () 括号的用法

    用以确定方法的参数边界(这个说法不太准确,是我自己的理解),比如定下以下方法,有两个参考或无参数

    int sum(int a,int b) { return a+b }  //定义有参数的方法

    void sum() {  }   

    int a是定义方法的参数类型和名称,把它们用括号括起来,以表达一个方法的参数列表。

    实际调用方法时,我们也需要用括号将参数的值括起来,比如调用方法

    int resumt=sum(2,3);  //调用有参数的方法

    sum(); //调用无参数的方法

    ; 分号的表达一个语句的结束,这是程序语言的定义规定。


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2017年1月21日 13:51

全部回复

  • () 括号的用法

    用以确定方法的参数边界(这个说法不太准确,是我自己的理解),比如定下以下方法,有两个参考或无参数

    int sum(int a,int b) { return a+b }  //定义有参数的方法

    void sum() {  }   

    int a是定义方法的参数类型和名称,把它们用括号括起来,以表达一个方法的参数列表。

    实际调用方法时,我们也需要用括号将参数的值括起来,比如调用方法

    int resumt=sum(2,3);  //调用有参数的方法

    sum(); //调用无参数的方法

    ; 分号的表达一个语句的结束,这是程序语言的定义规定。


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2017年1月21日 13:51
  • Hi 绿绿山水,

    你也可以从函数签名的角度理解。函数签名指的是函数的形参和返回值。函数的形参是就需要用()包围起来。不然不好区分返回值和形参呢? (这是我的理解,在写C,C++程序的时候,我们需要定义一个函数签名在.h文件里面,然后在.cpp文件中实现这个函数体。

    就如public static int Asc(string character) {.....} 这个后面就没有分号, 但是.h文件public static int Asc(string character); 就需要分号,因为有不同的函数签名,可能是要区分这些函数签名加上分号。

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年1月22日 3:21
    版主
  • 你好,你的程式碼大部分的 () 其實都是C#語法的規則。條件式判斷、方法、物件宣告、型別轉換都是有他特定的寫法,不這麼寫,程式就不能被編譯。

    除了 return (intAsciiCode); 這個括號是多餘的。


    2017年1月24日 7:02
  • 谢谢您的答复,谢谢。
    2017年2月12日 7:23
  • 谢谢您的答复,谢谢。
    2017年2月12日 7:23
  • 谢谢您的答复,谢谢。
    2017年2月12日 7:23
  • Hi 绿绿山水,

    如果你的问题,已经被解决,请及时标记帖子。

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年2月13日 1:25
    版主