这句话是啥意思?(c#) int

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这句话是啥意思?(c#) int相关的知识,希望对你有一定的参考价值。

int.TryParse(num, out number);

num 和 number都是string类型的 。
不好意思。问题搞错了。前面的不算了。

int number = 0;
int.TryParse(num, out number);

num是string类型

这里TryParse方法将数字的字符串表示形式num转换为它的等效 32 位有符号整数number。
返回值指示操作是否成功。

注意out 关键字参数通过引用来传递。与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。
尽管作为 out 参数传递的变量不需要在传递之前进行初始化,但需要调用方法以便在方法返回之前赋值。
也就是说这里可以换为ref关键字,也可以把int number = 0; 这句去掉,因为使用了out关键字。

示例:

using System;
using System.Globalization;

class Sample

public static void Main()

bool result;
CultureInfo ci;
string nl = Environment.NewLine;
string msg1 =
"此例演示 TryParse 方法的0" +
"几种基本数据类型.0";
string msg2 = "非数字类型:0";
string msg3 = "0数字类型:0";

// Non-numeric types.非数字类型。
Boolean booleanVal;
Char charVal;
DateTime datetimeVal;

// Numeric types.数字类型。
Byte byteVal;
Int16 int16Val;
Int32 int32Val;
Int64 int64Val;
Decimal decimalVal;
Single singleVal;
Double doubleVal;

Console.WriteLine(msg1, nl);

// Non-numeric types:
Console.WriteLine(msg2, nl);

// Boolean布尔类型
result = Boolean.TryParse("true", out booleanVal);
Show(result, "Boolean", booleanVal.ToString());
// Char字符
result = Char.TryParse("A", out charVal);
Show(result, "Char", charVal.ToString());

// Numeric types:数字
Console.WriteLine(msg3, nl);
// Byte
result = Byte.TryParse("1", NumberStyles.Integer, null, out byteVal);
Show(result, "Byte", byteVal.ToString());
// Int16短整
result = Int16.TryParse("-2", NumberStyles.Integer, null, out int16Val);
Show(result, "Int16", int16Val.ToString());
// Int32整型
result = Int32.TryParse("3", NumberStyles.Integer, null, out int32Val);
Show(result, "Int32", int32Val.ToString());
// Int64长整
result = Int64.TryParse("4", NumberStyles.Integer, null, out int64Val);
Show(result, "Int64", int64Val.ToString());
// Double双精
result = Double.TryParse("-7",
(NumberStyles.Float | NumberStyles.AllowThousands),
null, out doubleVal);
Show(result, "Double", doubleVal.ToString());

//使用简单 Double.TryParse overload, 但指定无效值.
result = Double.TryParse("abc", out doubleVal);
Show(result, "Double #2", doubleVal.ToString());
//显示
protected static void Show(bool parseResult, string typeName,
string parseValue)

string msgSuccess = "转换 0 = 1";
string msgFailure = "** 转换 0 失败. 无效输入.";
if (parseResult == true)
Console.WriteLine(msgSuccess, typeName, parseValue);
else
Console.WriteLine(msgFailure, typeName);


/*
运行结果:

此例演示 TryParse 方法的几种基本数据类型.

非数字类型:

转换 Boolean = True
转换 Char = A

数字类型:

转换 Byte = 1
转换 Int16 = -2
转换 Int32 = 3
转换 Int64 = 4
转换 Decimal = -5.5
转换 Single = 6.6
转换 Double = -7
** 转换 Double #2 失败. 无效输入.

*/
参考技术A &是位与操作符,n&1,不是将n的二进制形式与00000000 00000001按位做与操作。这时,只要n的最右边一位是1,结果就不是0,为true,条件成立。所以这句话实际上就是if(n%2==1) 参考技术B 数据转换,如果转换成功,number被赋成num对应的数字类型,方法返回true
如果转换失败,number=0,方法返回false
参考技术C 恩~上面的回答是对的 参考技术D 我说搂主你笨不笨啊~?
把光标放到TryParse上,按ctrl+shift+空格就可以显示参数信息了,
或者按ctrl+k,ctrl+i就可以显示函数提示信息了,你不知道看看啊?讲的很清楚的

int[]是啥意思

【中文标题】int[]是啥意思【英文标题】:What is the meaning of int[]int[]是什么意思 【发布时间】:2015-08-28 13:46:47 【问题描述】:

在C编程中声明int[]是什么意思?就像在这段代码中

int findPivot(int[], int, int);

【问题讨论】:

在给定的代码中,它是一个int*,一个指向int的指针。 这是一个int的数组。 The Definitive C Book Guide and List int[] - int 数组,例如指向整数数组的指针。 【参考方案1】:
 int findPivot(int[], int, int);

是一个函数声明。有时,它也被称为Forward declaration 或Function prototype。

FWIW,在函数声明中,你可以省略变量名,只指定变量类型就足够了。

此特定上下文中,int[]int* 具有相同的含义,即int[] 是指函数接受指向int 的指针作为第一个参数.

在调用函数时,我们可以通过

指向 int 或 的指针 一个int 数组(由于array decaying 在传递参数时的影响,数组类型参数归结为一个指针)。

你可以调用函数为

#define MAX 128

int actualArray[MAX] = 0;
int p = <somevalue>;
int q = <someothervalue>;
//somecode 
int retval = findPivot(actualArray, p, q); 

【讨论】:

说它接受int 数组作为第一个参数是正确的,但具有误导性。它接受任何指向int 的指针。 也许只是说第一个参数确实是int*,但是因为数组衰减它可以接受数组参数? 好的,数组 decay 允许您将数组名称作为 argument 传递给带有指针 parameter 的函数.所以 int[] 不是 int* 因为衰变。之所以如此,是因为类型被 调整 为指针。这有意义吗? 这样更好!而且没有必要做那种“先生”的生意;-) @juanchopanza 谢谢。至于“先生”,则是MMM。【参考方案2】:

鉴于您询问的是int[] 类型的函数参数,在这种特殊情况下,它等效于指向int 的指针,即int*。两者没有区别。在其他情况下,int[] 可能有不同的含义。

这两个函数声明是一样的:

void foo(int[]);
void foo(int*);

两者都等价于:

void foo(int[42]);

如果你要定义多个,你会得到一个多重定义错误

void foo(int[]) 
void foo(int*)  // ERROR! Multiple definition.

现在,由于 C 允许数组衰减为指针,您实际上可以使用 int 数组作为 参数 调用 foo。数组衰减为指向其第一个元素的指针。

int a[42];
int b[99];
int c;
foo(a);
foo(b);
foo(&c);

由于衰减指向一个指针,所有数组大小信息都丢失了。

【讨论】:

【参考方案3】:

在您指定的情况下,它指定带有参数存根int[] 的函数的第一个位置可用于任何数组参数

如果它在这样的分配中

int values[] = 9, 2, 6, 1, 4;

这意味着将使用与初始化该数组时添加的数组项一样多的数组项来创建值,在本例中为 5。

【讨论】:

【参考方案4】:

在这个函数声明中

int findPivot(int[], int, int);

int[] - 将函数参数声明为具有未知数量元素的整数数组类型。所以它是一个不完整的类型。

编译器将此声明调整为指针。所以这两个函数声明是等价的

int findPivot(int[], int, int);
int findPivot(int *, int, int);

当您将数组作为参数的对应参数传递时,它会隐式转换为指向其第一个元素的指针。所以数组中元素的数量并不重要。因此,上述两个声明可以附加一个函数声明,其中指定数组中的元素数量。例如

int findPivot(int[10], int, int);
int findPivot(int[20], int, int);
int findPivot(int[], int, int);
int findPivot(int *, int, int);

这些声明声明了同一个函数。

【讨论】:

【参考方案5】:

findPivot 需要一个 int array 和两个 int 变量。 int 数组实际上是一组整数值。在这种情况下,它相当于int pointer。

【讨论】:

你能告诉我为什么你认为这个答案没有帮助吗?

以上是关于这句话是啥意思?(c#) int的主要内容,如果未能解决你的问题,请参考以下文章

type = (int) (((Math.random())*(new Date().getTime())*10)%4) 这句话是啥意思,产生啥样的结果?

C#中=>是啥意思?

scala中def addOne(f: Int => Int, arg: Int) = f(arg) + 1,这句代码是啥意思

在C#中 ToString();是啥意思啊〉?

C#中的??是啥意思

声明和实例化一个 c# 数组实际上是啥意思?