在C#公共方法中,`int`表示除了类型整数之外的什么?

时间:2012-03-21 21:16:10

标签: c# methods int

在C#中,定义一个公共方法,如:

public int myMethod(String someString)
{  
   //code  
}

除了类型整数之外,int表示什么?令我困惑的是,在这种情况下,该方法使用String作为参数。

5 个答案:

答案 0 :(得分:8)

这是方法的返回类型。在这种情况下,32位有符号整数的范围为

-2,147,483,648 .. +2,147,483,647

它对应于.NET类型System.Int32int只是一个方便的C#别名。

你会返回一个像这样的值

public int Square(int i)
{
    return i * i;
}

你可以这样称呼它

int sqr = Square(7); // Returns 49
// Or
double d = Math.Sin(Square(3));

如果您不需要返回值,则可以放心地忽略它。

int i;
Int32.TryParse("123", out i); // We ignore the `bool` return value here.

如果您没有返回值,则可以使用关键字void代替类型。 void不是真正的类型。

public void PrintSquare(int i)
{
    Console.WriteLine(i * i);
}

你会这样称呼它

PrintSquare(7);

示例中的方法接受string作为输入参数,并返回int作为结果。一个实际的例子是计算string中元音数量的方法。

public int NumberOfVowels(string s)
{
    const string vowels = "aeiouAEIOU";

    int n = 0;
    for (int i = 0; i < s.Length; i++) {
        if (vowels.Contains(s[i])) {
            n++;
        }
    }
    return n;
}

答案 1 :(得分:6)

它代表“整数”,这意味着该方法返回一个32位的整数,在C#中也称为Int32

答案 2 :(得分:5)

如前所述,这是该方法返回的内容。

例如:

public string x()
{
 return 5;
}

会出错吗。 5绝对不是字符串!

public int x()
{
 return 5;
}

会是正确的;因为5可以被认为是一个int(整数的缩写,基本上只是一个不能有小数点的数字。还有float,double,long和decimal,值得一读)

如果你这样做的话,一定不能让它不回来:

public int x()
{
 if (false)
 {
  return 5;
 }
}

它会出错,因为如果表达式为false(当然是)它不会返回int,它不会返回任何内容。

如果您使用关键字void,则表示会返回任何内容。例如:

public void x()
{
 someFunction("xyz");
}

它没有返回,因为它是void方法。

我认为你不熟悉你的声誉进行编程,但以防万一,当你返回一些东西时,你会从方法中传回来,例如:

int x;

public int seven()
{
 return 7;
}

x = seven();

x将成为函数seven的返回值。

请注意,“动态”类型适用于此处:

public dynamic x(int x, int y)
{
 if (x == y)
 {
  return "hello";
 }
 return 5
}

但是如果你是C#的新手,那么就不要陷入动态类型。 :)

答案 3 :(得分:3)

返回值的类型

答案 4 :(得分:1)

这里的每个人都是正确的,但是来自msdn的定义:

  

“Int32是一个不可变值类型,表示有符号整数,其值范围为负2,147,483,648(由Int32.MinValue常量表示)到正数2,147,483,647(由Int32.MaxValue常量表示.Net Framework还包括一个无符号的32位整数值类型UInt32,它表示的值范围为0到4,294,967,295。“

在MSDN上找到:Int32 Structure

我建议您阅读上面链接中的文档。它非常有用。