gpt4 book ai didi

c# - 在结果文件 C# 中打印出不需要的空格

转载 作者:行者123 更新时间:2023-11-30 14:45:46 25 4
gpt4 key购买 nike

    void PrintOutFatBooks(List<Book> books)
{
string[] lines = new string[books.Count];
for (int i = 0; i < books.Count; i++)
{
if (books[i].Pages > 400)
{
lines[i] = String.Format("Book with more than 400 pages name is: {0}"
+", it has: {1} pages", books[i].BookName, books[i].Pages);
}
}
File.WriteAllLines(@"FatBooks.csv", lines);
}

结果打印正常,只是在每个结果之间产生了不需要的空格。例如,有这样的结果:

400多页的书名是:Harry Potter,它有512页

400多页的书名是:Harry Potter 2,它有800页

如何删除两个结果之间的大空间(不能在 stackoverflow 的结果之间放置大空间,但有一个大空间)?这是我在 stackoverflow 中的第一篇文章,所以请不要太苛刻,谢谢,祝你有美好的一天:)

最佳答案

关于 List 的评论有点短,但是正确的方法。

如果您创建一个相同大小的数组并且只在 Pages > 400 时填充元素与书的索引相同。您只过滤 books.Pages <= 400并让它们空着。 List<string>大小是动态的,会自动增加。

void PrintOutFatBooks(List<Book> books)
{
var lines = new List<string>();
for (int i = 0; i < books.Count; i++)
{
if (books[i].Pages > 400)
{
lines.Add(String.Format("Book with more than 400 pages name is: {0}"
+", it has: {1} pages", books[i].BookName, books[i].Pages));
}
}
File.WriteAllLines(@"FatBooks.csv", lines);
}

如果赋值是关于使用带有索引的 for 循环。您应该这样保留它,但一个不错的建议是使用 foreach 循环。

void PrintOutFatBooks(List<Book> books)
{
var lines = new List<string>();
foreach (var book in books)
{
if (book.Pages > 400)
{
lines.Add(String.Format("Book with more than 400 pages name is: {0}"
+", it has: {1} pages", book.BookName, books.Pages));
}
}
File.WriteAllLines(@"FatBooks.csv", lines);
}

你也可以为此使用 linq(专家模式)

void PrintOutFatBooks(List<Book> books)
{
File.WriteAllLines(@"FatBooks.csv",
books.Where(book => book.Pages > 400)
.Select(book => $"Book with more than 400 pages name is: {book.BookName}, it has: {books.Pages} pages");
}

关于c# - 在结果文件 C# 中打印出不需要的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52399775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com