c#4.0-c#:找出列表中的最后一个元素<;字符串>;是回车

本文关键字:字符串 lt gt 回车 元素 最后一个 0-c# 列表 c#4 | 更新日期: 2023-09-27 18:00:38

我尝试使用的逻辑是:
1.查看列表的最后一个元素
2.如果是新行(回车),则删除

        int stringLength = mailingList.Count;
        if (mailingList[stringLength - 1].Equals(Environment.NewLine))
        {
            //mailingList.RemoveAt(stringLength - 1);
            txtOutput.Text = "exists";
        }
        else
        {
            txtOutput.Text = "does not exist";
        }

但无论我用什么,我都无法让它发挥作用。我也尝试过使用:

if (mailingList[stringLength - 1] == "'r'n")

这也不起作用。从我的输出测试中,我不断得到"不存在"。

如何识别最后一个元素是否为新行?

任何帮助都会很棒!

谢谢,射线

c#4.0-c#:找出列表中的最后一个元素<;字符串>;是回车

那么最后一个元素可能不是新行。

你是如何获得线路的?你会拆分一个文本框吗?然后你不会得到新行,你会得到一个空字符串。然后你应该做一些类似的事情:

if (string.IsNullOrWhiteSpace(mailingList.LastOrDefault())

在删除行之前,您可能应该做的是修剪文本框文本。

使用LINQ

mailingList.LastOrDefault() == Environment.NewLine

如果列表中没有元素,这将涵盖这种情况。

有些系统仅使用'n作为换行符,有些系统甚至只使用'r

http://en.wikipedia.org/wiki/Newline

此代码为

List<string> list = new List<string>();
list.Add(Environment.NewLine);
if (list[0].Equals(Environment.NewLine))
    System.Console.WriteLine("found newline");

将文本"find newline"打印到控制台。因此,我只能得出结论,你的清单在最后一项中没有换行。

我们只能猜测为什么是因为我们看不到填充列表的代码。