0

私はアイテムのリストを持っています。1 | 2 | 3 | 4 | 5 | 1 を取得してリストの残りの部分と比較したいのですが、1 をそれ自体と比較したくありません。1 をリストの残りの部分と比較した後、1 をリストに戻し、次に 2 を取り出して、今度は 1 を含むリストの残りの部分と比較したいと思います。これが私が試したことです。ここでの問題は、最初の反復が 0 から始まり、1 から比較されるため、最初に反復するときに完全に機能することですが、0 インデックスを超えてループすると、それ自体が問題を引き起こします。どんな助けでも素晴らしいでしょう。これは私が理解しなければならない単なる論理的なものであることは知っていますが、少し迷っています。

これが私が試したことです

        if (RadUpload1.UploadedFiles.Count > 1)
    {
        for (int fileBuffer = 0; fileBuffer < RadUpload1.UploadedFiles.Count; fileBuffer++)
        {
            for (int fileList = 1; fileList < RadUpload1.UploadedFiles.Count; fileList++)
            {
                if (RadUpload1.UploadedFiles[fileBuffer] != RadUpload1.UploadedFiles[fileList])
                {
                    if (RadUpload1.UploadedFiles[fileBuffer].GetName() == RadUpload1.UploadedFiles[fileList].GetName())
                    {
                        lbl_message.Text = "There where duplicates files found please check the files and try again";
                    }
                    else
                    {
                      //do other stuffs
                    }
4

5 に答える 5

1

私はこれがあなたのコードを使用していないことを知っていますが、各アイテムをすべてのアイテムと比較するという単純な概念ですが、それは自己です、頑張ってください。

def search(alist):
    for anitem in alist:
        for anotheritem in alist:
            if alist.index(anitem) == alist.index(anotheritem):
                pass
            else:
                Do something
于 2013-08-22T15:46:15.747 に答える
1
if (RadUpload1.UploadedFiles.Count > 1)
{
    for (int fileBuffer = 0; fileBuffer < RadUpload1.UploadedFiles.Count-1; fileBuffer++)
    {
        for (int fileList = fileBuffer + 1; fileList < RadUpload1.UploadedFiles.Count; fileList++)
        {
            if (RadUpload1.UploadedFiles[fileBuffer] != RadUpload1.UploadedFiles[fileList])
            {
//....
于 2013-08-22T15:33:21.690 に答える