循环检查索引在c#中是否重复

本文关键字:是否 检查 索引 循环 | 更新日期: 2023-09-27 18:14:51

我想创建一个for循环来检查索引值是否重复,如果它必须从原始列表中删除它并显示一个没有重复索引值的更新列表

我有一个数组(称为Original)与多个值被重复,然后我创建了一个临时数组(称为TempArray)具有相同的确切值。

我想检查一下Original和TempArray的值,看看是否有重复的

我希望我的代码与之前我从数组中间删除索引的代码类似,如下所示

for (int i = 0; i < Original.Length; i++)
{
    TempArray[i] = Original[i];
}
Original = new int[Original.Length - 1];
//Set index to delete
int DeleteIndex = 3;  
//modify size of Orignial array and copy in array without deleted element index
for (int i = 0; i < TempArray.Length; i++)
{
    if (i < DeleteIndex)
    {
        Original[i] = TempArray[i];
    }
    else if (i > DeleteIndex)
    {
        Original[i - 1] = TempArray[i];
    }
}

p.s. Original[]是来自文本文件的数组。很抱歉,如果我的解释很难理解,因为我是计算机编程的新手。

也有任何方法来做这个代码没有LINQ,我必须创建使用数组只因为它的所有在学校教?

循环检查索引在c#中是否重复

我花了一些时间来理解你想要什么:)

  1. 检查索引值是否重复,以及是否必须从原始列表中删除该索引值并显示没有重复索引值的更新列表

    简称distinct values。有一个LINQ方法.Distinct():

    Original = Original.Distinct().ToArray();
    
  2. ,我从数组的中间删除了一个索引

    您可以通过转换为List,应用RemoveAt并返回来更轻松地完成此操作:

    var list = new List<int>(Original);
    list.RemoveAt(DeleteIndex);
    Original = list.ToArray();
    

注:假设您对数组中的值说"index",这很令人困惑。数组不存储索引——索引通常被理解为数组的键。

也许这对你有用。我假设您需要从数组

中删除重复项
Original = Original.Distinct().ToArray();

Will通过使用默认的相等比较器来比较值,从而返回序列中不同的元素。