在C#中,定义一个公共方法,如:
public int myMethod(String someString)
{
//code
}
除了类型整数之外,int
表示什么?令我困惑的是,在这种情况下,该方法使用String作为参数。
答案 0 :(得分:8)
这是方法的返回类型。在这种情况下,32位有符号整数的范围为
-2,147,483,648 .. +2,147,483,647
它对应于.NET类型System.Int32
。 int
只是一个方便的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
我建议您阅读上面链接中的文档。它非常有用。