C# 使用函数添加由逗号分隔的整数列表
输入:5,5,5,5 输出:5+5+5+5=20 我试图添加一个由逗号或连字符分隔的整数列表。我已经创建了3个函数。(请原谅我的变量名)C# 使用函数添加由逗号分隔的整数列表,c#,.net,arrays,methods,C#,.net,Arrays,Methods,输入:5,5,5,5 输出:5+5+5+5=20 我试图添加一个由逗号或连字符分隔的整数列表。我已经创建了3个函数。(请原谅我的变量名) diffract函数删除逗号、连字符和空格,并将结果存储在整数列表数组中 intConvertedList函数将字符串数组元素转换为整数类型 sumofNumber函数将元素添加到数组中 我正在努力将定界函数结果传递给intConvertedList,最后,添加intConvertedList中的所有元素。请告诉我在main方法中如何调用函数 namespac
diffract
函数删除逗号、连字符和空格,并将结果存储在整数列表数组中李>
intConvertedList
函数将字符串数组元素转换为整数类型sumofNumber
函数将元素添加到数组中定界
函数结果传递给intConvertedList
,最后,添加intConvertedList
中的所有元素。请告诉我在main方法中如何调用函数
namespace SumOfTwoNum
{
class Program
{
static void printArray(int[] arr)
{
Console.WriteLine("\nElements of array is: \n");
foreach (int i in arr)
{
Console.Write("\t{0}", i);
}
Console.WriteLine("\n");
}
static void delimit(string arr2)
{
char[] delimiters = new char[] { ',', '-', ' ' };
string[] integersList = arr2.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
foreach (string value in integersList)
{
Console.WriteLine(value);
}
}
static void intConvertedList(string[] arr3)
{
int[] intConvertedList = new int[arr3.Length];
for (int i = 0; i < intConvertedList.Length; i++)
{
intConvertedList[i] = int.Parse(arr3[i]);
}
}
static void sumOfNumbers(int[] arr4)
{
int sum = 0;
foreach (int number in arr4)
{
sum += number;
}
Console.WriteLine("Total: " + String.Join(" + ", arr4) + $" = {sum}");
return;
}
static void Main(string[] args)
{
Console.Write(@"Enter list of integers seperated by comma (,) or hyphen (-): ");
string numbers = Convert.ToString(Console.ReadLine());
delimit(numbers);
}
}
}
namespace SumOfTwoNum
{
班级计划
{
静态void打印数组(int[]arr)
{
Console.WriteLine(“\n数组元素为:\n”);
foreach(内部i在arr中)
{
Console.Write(“\t{0}”,i);
}
Console.WriteLine(“\n”);
}
静态空隙定界(字符串arr2)
{
字符[]分隔符=新字符[]{',','-','};
string[]integersList=arr2.Split(分隔符、StringSplitOptions.RemoveEmptyEntries);
foreach(整数列表中的字符串值)
{
控制台写入线(值);
}
}
静态无效intConvertedList(字符串[]arr3)
{
int[]intConvertedList=新int[arr3.Length];
for(inti=0;i
您的intConvertedList方法没有返回任何内容
在该函数中,创建一个新的int数组,并从输入的字符串数组构建它。最后,返回int数组以进行进一步处理
详情如下:
static int[] intConvertedList(string[] arr3)
{
int[] intConvertedList = new int[arr3.Length];
for (int i = 0; i < intConvertedList.Length; i++)
{
intConvertedList[i] = int.Parse(arr3[i]);
}
return intConvertedList;
}
static int[]intConvertedList(字符串[]arr3)
{
int[]intConvertedList=新int[arr3.Length];
for(inti=0;i
事实上,您的方法都没有返回任何内容。您应该将您的方法视为输入和输出,并考虑您想在其中投入什么,以及您想从中获得什么。然后,您需要从它们中“返回”您想要的东西。您可以使用String的
Join
和LINQ的Sum
简化许多操作
var numStr = "5, 6, 7, 8";
var numbers = numStr.Split(new char[] { ',', '-', ' ' }, StringSplitOptions.RemoveEmptyEntries);
var numbersAddStr = String.Join(" + ", numbers);
Console.WriteLine($"Output: {numbersAddStr} = {numbers.Sum(v => Convert.ToDouble(v))}");
或者也可以使用聚合
var numbersAddStr = numbers.Aggregate(new StringBuilder(),
(builder, element) => builder.Append(" + ").Append($"{element}"),
builder => builder.Remove(0,3) // removes the leading " + "
.ToString());
static void Main(字符串[]args){
字符串sNumbers=“1,2,3,4,5”;
整数和=0;
int[]array=sNumbers.Split(',).Select(str=>int.Parse(str)).ToArray();
for(int i=0;i
这将输出您所要求的内容
希望能有所帮助。您需要函数返回其结果,以便使用Linq将这些结果传递给下一个函数。这只是一行
var sum=nums.Split(new[]{',',',','-},StringSplitOptions.removeMptyEntries)。选择(int.Parse.sum()代码>当然,@juharr是绝对正确的,我就是这么做的,但我认为将程序流分解成块是有价值的,特别是当你刚刚开始时,你必须更好地理解这个过程。嗯,没有一个函数返回结果,所以从技术上讲你是对的。我会把你的答案扩大到包括所有这些内容……虽然从技术上讲是正确的,但这看起来很像家庭作业帮助,所以这种“长除法”的工作方式可能对OP的意图更有利。
static void Main(String[] args) {
string sNumbers = "1,2,3,4,5";
int sum = 0;
int[] array = sNumbers.Split(',').Select(str => int.Parse(str)).ToArray();
for (int i = 0; i < array.Length; i++) {
sum = sum + array[i];
}
string sumString = string.Join(" + ", array) + " = ";
Console.WriteLine(sumString + sum);
Console.ReadKey();
}