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")
这也不起作用。从我的输出测试中,我不断得到"不存在"。
如何识别最后一个元素是否为新行?
任何帮助都会很棒!
谢谢,射线
那么最后一个元素可能不是新行。
你是如何获得线路的?你会拆分一个文本框吗?然后你不会得到新行,你会得到一个空字符串。然后你应该做一些类似的事情:
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"打印到控制台。因此,我只能得出结论,你的清单在最后一项中没有换行。
我们只能猜测为什么是因为我们看不到填充列表的代码。