C# 无法隐式转换类型-c元组
所以,问题是:我有一个函数,它接受两个数字,用户在控制台中编写,我想返回这两个数字,所以我决定使用元组C# 无法隐式转换类型-c元组,c#,C#,所以,问题是:我有一个函数,它接受两个数字,用户在控制台中编写,我想返回这两个数字,所以我决定使用元组 static int InputedData() { int data1, data2; Console.WriteLine("Enter first number:"); data1 = int.Parse(Console.ReadLine()); Console.WriteLine("Enter second number:"); data2 = i
static int InputedData()
{
int data1, data2;
Console.WriteLine("Enter first number:");
data1 = int.Parse(Console.ReadLine());
Console.WriteLine("Enter second number:");
data2 = int.Parse(Console.ReadLine());
int result = (data1, data2); //Tuples, also tried with var
return result;
}
您对返回类型在方法签名和返回值中的工作方式有误解
static (int, int) InputedData()
{
int data1, data2;
Console.WriteLine("Enter first number:");
data1 = int.Parse(Console.ReadLine());
Console.WriteLine("Enter second number:");
data2 = int.Parse(Console.ReadLine())
return (data1, data2);
}
注意元组int的隐式定义,int在方法签名和定义返回值中。您不能执行int data=data1,data2,因为您试图将元组塞入int
如果需要,还可以命名元组:
static (int a, int b) InputedData()
{
//...
}
这使得在另一种方法中使用这些值时,它们的含义更加明显。如果不给它们命名,默认名称是Item1和Item2。因为int不是Tupleint,而不是两个int的元组。它只是一个int.static intx,inty InputedData{/*…*/返回data1,data2;}。此外,如果是一个单词,输入有两个T。