使用while循环读取整个文本文件,并将文件中只有偶数的列表输出到屏幕
本文关键字:文件 屏幕 输出 列表 读取 循环 while 文本 使用 | 更新日期: 2023-09-27 18:23:42
我不知道如何将一条消息——一个只有偶数的列表——从文件输出到屏幕。
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EvenNumbersFile
{
class Program
{
static void Main(string[] args)
{
StreamReader myReader = new StreamReader("NumbersFile.txt");
string line = "";
while (line != null)
{
line = myReader.ReadLine();
if (line != null)
Console.WriteLine(line);
}
myReader.Close();
Console.ReadLine();
}
}
}
我想我现在明白你想要什么了。您需要解析文件中的数字,然后检查它是否可以被二整除。这里有一些代码可以尝试:
while (line != null)
{
line = myReader.ReadLine();
if (line != null)
{
int temp;
if (int.TryParse(line, out temp) && (temp % 2 == 0))
{
Console.WriteLine(line);
}
}
}
像这样的东西听起来像你需要的:
while (line != null)
{
line = myReader.ReadLine();
int number = -1;
if (line != null)
{
if (Int32.TryParse(line, out number))
{
if (number % 2 == 0)
{
Console.WriteLine(number);
}
}
}
}
如果可以保证输入文件只包含数字,则可以省略.TryParse。
更完整的版本:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PrintEvenNumbers
{
class Program
{
static void Main(string[] args)
{
Console.Clear();
SafeForWork();
Console.WriteLine();
JustShowingOff();
Console.ReadLine();
}
private static void SafeForWork()
{
StreamReader myReader = new StreamReader(@"C:'Users'Public'NumbersFile.txt");
string line = "";
while (line != null)
{
line = myReader.ReadLine();
int number = -1;
if (Int32.TryParse(line, out number))
{
if (number % 2 == 0)
{
Console.WriteLine(number);
}
}
}
myReader.Close();
}
private static void JustShowingOff()
{
List<String> Contents = File.ReadAllLines(@"C:'Users'Public'NumbersFile.txt").ToList();
List<String> Evens = Contents.Where(var => (Int32.Parse(var)) % 2 == 0).ToList();
Evens.ForEach(var => Console.WriteLine(var));
}
}
}
文件内容:
12.4.136.998