왜 이런 일이 일어나는 지 이해할 수 없습니다. 코드 및 출력 예를 참조하십시오. 3 개의 배열 요소가 명확하게 다른 값으로 설정 될 때 같은 값을 출력하는 이유는 무엇입니까?XSD에서 자동 생성 된 클래스는 배열에서 같은 값을 모두 반환합니까?
짐
프랭크
제임스
제임스
제임스
제임스는
class Program
{
static void Main(string[] args)
{
users allUsers = new users();
allUsers.user = new usersUser[3];
usersUser userConfig = new usersUser();
userConfig.username = "Jim";
allUsers.user[0] = userConfig;
Console.WriteLine(allUsers.user[0].username);
userConfig.username = "Frank";
allUsers.user[1] = userConfig;
Console.WriteLine(allUsers.user[1].username);
userConfig.username = "James";
allUsers.user[2] = userConfig;
Console.WriteLine(allUsers.user[2].username);
Console.WriteLine("");
Console.WriteLine(allUsers.user[0].username);
Console.WriteLine(allUsers.user[1].username);
Console.WriteLine(allUsers.user[2].username);
Console.ReadLine();
}
}
using System.Xml.Serialization;
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
public partial class users {
private usersUser[] userField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("user")]
public usersUser[] user {
get {
return this.userField;
}
set {
this.userField = value;
}
}
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class usersUser {
private string usernameField;
/// <remarks/>
public string username {
get {
return this.usernameField;
}
set {
this.usernameField = value;
}
}
}
그래서 AllUsers.user [0] = userConfig; allUsers를 userConfig에 저장된 값으로 설정하지 않고 userConfig를 가리 킵니까? – CathalMF
allUsers.user [0] = userConfig는 사용자가 * last *에 지정한 값을 가리 킵니다. 내가 말한 것처럼 할당하려는 모든 사용자 이름에 대해 새 usersUser()를 만들어야합니다. – Thousand
빙고 감사. 나는 그것이 값을 가리키는 방식을 오해하고있었습니다. – CathalMF