C# 我怎样才能删除“\";从HashSet列表? private void ReadKeysValues() { 如果(文件.Exists(@“c:\Temp\WritePostedAlready.txt”)) { UnionWith(文件.ReadAllLines(@“c:\Temp\WritePostedAlready.txt”); for(int i=0;ip.StartsWith(“\t”)
变量alreadyPost是HashSet 我可以通过删除(“”)从中删除空行; 但我无法删除以\t开头的行/索引。 正在删除(“\t”);或(@“\t”);不工作。您可以使用该方法C# 我怎样才能删除“\";从HashSet列表? private void ReadKeysValues() { 如果(文件.Exists(@“c:\Temp\WritePostedAlready.txt”)) { UnionWith(文件.ReadAllLines(@“c:\Temp\WritePostedAlready.txt”); for(int i=0;ip.StartsWith(“\t”),c#,winforms,C#,Winforms,变量alreadyPost是HashSet 我可以通过删除(“”)从中删除空行; 但我无法删除以\t开头的行/索引。 正在删除(“\t”);或(@“\t”);不工作。您可以使用该方法 alreadyPost.removehere(p=>p.StartsWith(“\t”) 更新: 要仅从每个项目中删除\t字符,但保留项目(请参见注释),可以执行以下操作: private void ReadKeysValues() { if (File.Exists(@"c
alreadyPost.removehere(p=>p.StartsWith(“\t”)代码>
更新:
要仅从每个项目中删除\t
字符,但保留项目(请参见注释),可以执行以下操作:
private void ReadKeysValues()
{
if (File.Exists(@"c:\Temp\WritePostedAlready.txt"))
{
alreadyPost.UnionWith(File.ReadAllLines(@"c:\Temp\WritePostedAlready.txt"));
for (int i = 0; i < alreadyPost.Count; i++)
{
alreadyPost.Remove("");
alreadyPost.Remove("\t");
}
}
}
我通常会阻止这些项目被添加到集合中,而不是在之后删除它们。但是,如果确实需要,可以使用以下代码:
alreadyPost = new HashSet(
alreadyPost.Select(p => p.StartsWith("\t") ? p.Substring(1) : p)
);
我确实认为应该删除制表符,而不是移动整个索引的字符串\tzahorak。例如,如果索引6是\t hello everyone。然后现在整个索引都消失了。相反,我有9个索引,8个。我只想删除\t。我不确定\t的作用,但我只想删除它,而不是删除整行。您也删除了代码中的所有项,所以我想这就是您要做的。否则,无法更新哈希集中的项目
,您只需删除它们并再次添加修改版本即可。-请参阅我的更新以获取新的哈希集,其中每个项目开头的\t
将被删除。
foreach (var item in alreadyPost.ToList())
{
if (item.StartsWith("\t"))
{
alreadyPost.Remove(item);
}
}