C# 如何编写一个接受int参数并将它们组合输出的函数?例:1,2,3,4->;1234
我正在学习如何用C语言编写代码。对于家庭作业,我们被要求编写一个方法,该方法接受8个不同的C# 如何编写一个接受int参数并将它们组合输出的函数?例:1,2,3,4->;1234,c#,function,C#,Function,我正在学习如何用C语言编写代码。对于家庭作业,我们被要求编写一个方法,该方法接受8个不同的int值,并返回另一个int值和所有值的组合(1、2、3、4)变为1234。然后,该方法将输出返回到Main函数,以便使用Console.WriteLine进行打印。我只是对我应该做什么感到困惑,因为当方法是int时,我不能返回字符串,将所有int相加就是将所有数字相加 方法: static int CombineNumbers(int a, int b, int c, int d, int e, int
int
值,并返回另一个int
值和所有值的组合<例如,代码>(1、2、3、4)变为1234
。然后,该方法将输出返回到Main
函数,以便使用Console.WriteLine
进行打印。我只是对我应该做什么感到困惑,因为当方法是int
时,我不能返回字符串,将所有int
相加就是将所有数字相加
方法:
static int CombineNumbers(int a, int b, int c, int d, int e, int f, int g, int h) {
return();
}
应该从Main
读取int值:
Console.WriteLine(CombineNumbers(1, 2, 3, 4, 5, 6, 7, 8));
必须将数字串接为字符串,然后再次将字符串转换为整数:
public class Program
{
public static void Main()
{
Console.WriteLine(CombineNumbers(1, 2, 3, 4, 5, 6, 7, 8));
}
static int CombineNumbers(int a, int b, int c, int d, int e, int f, int g, int h) {
String resultString = a.ToString() + b.ToString() + c.ToString() + d.ToString() + e.ToString() + f.ToString() + g.ToString() + h.ToString();
int result = Convert.ToInt32(resultString);
return result;
}
}
此功能可以帮助您,您可以轻松增加参数的数量
public class Program
{
public static void Main()
{
Console.WriteLine(MyFunc(1, 2, 3, 4));
}
private int MyFunc(int a, int b, int c, int d)
{
var str = new List<int>() { a, b, c, d};
return str.Aggregate((x, y) => int.Parse(x.ToString() + y.ToString()));
}
}
公共类程序
{
公共静态void Main()
{
Console.WriteLine(MyFunc(1,2,3,4));
}
私有int MyFunc(int a,int b,int c,int d)
{
var str=new List(){a,b,c,d};
返回str.Aggregate((x,y)=>int.Parse(x.ToString()+y.ToString());
}
}
我建议使用Join
和params
创建一个方法,以获取int数组的参数(这样您就不必限制参数的特定大小),然后加入它。如果只想返回作为字符串连接在一起的数字,请执行以下操作:
public static string CombineNumbers1(params int[] arr)
{
return string.Join("", arr);
}
若要返回整数类型的数字,可以按如下方式进行转换或分析:
public static int CombineNumbers2(params int[] arr)
{
int.TryParse(string.Join("", arr), out int val);
return val;
}
因此,当我将以下内容传递给方法时:
组合器1(1、2、3、4、5、6、7、8)
它应该会回来
12345678在第一个方法中为字符串,在第二个方法中为整数。1。使用ToString()
2将所有数值转换为string
。连接所有字符串
值以创建单个字符串
3。使用Int32.TryParse()
将单个string
转换回int
,或使用string output=$“{a}{b}{c}{d}”等等,我们都忘记用简单的数学了吗?a*10000000+b*1000000+c*100000……是的,史蒂夫在这方面是正确的。我们应该只使用基本的C#编写这个方法。我认为它需要一些高级编程,这使事情变得过于复杂。在我发布这篇文章后不久就发现了。谢谢大家!