如何将 Console.ReadLine 中的值添加到数组中?
Posted
技术标签:
【中文标题】如何将 Console.ReadLine 中的值添加到数组中?【英文标题】:How do i add a value from a Console.ReadLine into an array? 【发布时间】:2021-12-27 05:30:17 【问题描述】:我想从用户那里读取一个浮点值并将该值存储在一个数组中,这样我就可以将它全部添加并除以用户给我的输入量,一旦他们输入了一个值低于 0.
using System;
class Program
public static void Main (string[] args)
float [] tt;
int ct = 0;
for (int i = 0; i>-1; i++);
float id = float.Parse(Console.ReadLine());
if (id > -1)
ct++;
else
Console.WriteLine(id/ct);
【问题讨论】:
您的 for 循环将无限执行。for loop
的正确退出条件是什么
类似***.com/questions/23040525/…
【参考方案1】:
using System;
class Program
public static void Main(string[] args)
float sum = 0;
int ct = 0;
while (true)
float id = float.Parse(Console.ReadLine());
if (id > -1)
sum += id;
ct++;
else
Console.WriteLine(sum / ct);
break;
Console.ReadKey();
更好的代码写如下,这里增加了更多的检查:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
public static void Main(string[] args)
var list = new List<double>();
while (true)
var line = Console.ReadLine();
if (!double.TryParse(line, out var number))
Console.WriteLine($"Can't parse number: line");
return;
if (number < 0)
break;
list.Add(number);
Console.WriteLine("The average is: " + list.Average());
Console.ReadKey();
【讨论】:
是的,我已经构建并测试了代码。循环永远不会停止。我在这里遇到了一个问题。尽量不要改代码,让提问的人更容易理解,或者用最好的写法…… List以上是关于如何将 Console.ReadLine 中的值添加到数组中?的主要内容,如果未能解决你的问题,请参考以下文章
重载 Console.ReadLine 可能吗? (或任何静态类方法)