не уверен;я пытался написать код, чтобы проверить это, используя фрагмент, который вы дали, но он скомпилируется под LinqPad;вот что я использовал:
public class Student
{
public string name;
public int StudentId;
}
void Main()
{
Student[] Students =
new Student[]
{
new Student { name="a", StudentId = 0},
new Student { name="b", StudentId = 0},
new Student { name="c", StudentId = 0},
new Student { name="d", StudentId = 0}
};
var studentsList = Students.Select(t => t);
int newStudentID = 10001;
foreach(var s in studentsList)
{
s.StudentId = newStudentID;
newStudentID = newStudentID + 1;
}
foreach(var s in studentsList)
{
System.Console.WriteLine(s.name + ": " + s.StudentId.ToString());
}
}
и вот что получилось:
a: 10001
b: 10002
c: 10003
d: 10004
, так что, похоже, все работает нормально.если вы можете дать достаточно контекста, чтобы иметь работающий пример вашего кода, я был бы рад проверить его дальше.