Member 8010354 Ответов: 1

Преобразование из for в foreach


Всем Привет,

Я новичок в .net, и у меня есть ситуация, когда нужно написать цикл foreach, но я не знаю об этом точно, но я написал для цикла. Кто-нибудь может помочь мне преобразовать приведенный ниже код в foreach?

Ниже приведен мой код:

List<Int32> multiObject = ((List<Int32>)favoriteDocumentsField.Value);
     for (int index = 0; index < multiObject.Count; index++) {
          Int32 docID = multiObject[index];
          Console.WriteLine("Artifact: {0} Field: {1} Value: {2}", employee.ArtifactID, favoriteDocumentsField.Name + " Object " + index, docID);
     }

Любая помощь будет оценена по достоинству.

Что я уже пробовал:

Я попробовал поискать в гугле. Я получил примеры прямого цикла FOREACH и использовал их, но не получил преобразования из for в foreach.

1 Ответов

Рейтинг:
1

F-ES Sitecore

Непроверенный

List<Int32> multiObject = ((List<Int32>)favoriteDocumentsField.Value);
     foreach (int docID in multiObject) {
          Console.WriteLine("Artifact: {0} Field: {1} Value: {2}", employee.ArtifactID, favoriteDocumentsField.Name, docID);
     }


Я перестал писать значение индекса из вашей WriteLine, так как оно больше не существует. Если вы действительно хотите получить это значение индекса, вам лучше оставить его как цикл for. Вы могли бы иметь индекс как свою собственную переменную и увеличивать его внутри foreach, но нет смысла делать это, когда вы можете сохранить его как цикл for вместо этого.


Member 8010354

Список<типа int32&ГТ; многообъектных = ((список<типа int32&ГТ;)favoriteDocumentsField.Ценность);
по каждому элементу (инт идентификатора docid в многообъектных) {
адрес электронной почты += docID.Артефакт.Поля[0].Значение.Метод toString() + ";";
}
В приведенном выше коде я получаю ошибку рядом с артефактом внутри цикла, утверждая, что int не содержит определения артефакта.

F-ES Sitecore

Это потому, что docID - это int, так что вы не можете этого сделать

идентификатора docid.Артефакт

Вам нужно знать, что именно имеет свойство Atrifact, если вы хотите получить к нему доступ.