C#over VB.NET中的集合

alt*_*ein 5 c# vb.net

嗨,我是C#的新手并且一直在学习它.实际上我认为我正在使用它有一些我不确定的事情,但会在询问之前尝试研究它们.那说有一件事我找不到收藏品.我来自VB.NET的背景,之前我使用另一个类的集合来存储它的属性,而不必涉及数据表.我之前的代码如下所示

Public class UserDetails

 Public Property Username() As String
   Get
      Return sUsername
   End Get
   Set(ByVal value As String)
      sUsername = value
   End Set
 End Property

 Public Property Forename() As String
   Get
      Return sForename
   End Get
   Set(ByVal value As String)
      sForename = value
   End Set
 End Property

 Public Property Surname() As String
   Get
      Return sSurname
   End Get
   Set(ByVal value As String)
      sSurname = value
   End Set
 End Property

End Class
Run Code Online (Sandbox Code Playgroud)

你得到了这个想法,一个具有任何理由的属性的类(这在c#中很容易,而且我已经设法做了一些事情).

public string Username { get { return sUsername; } set { sUsername = value; } }
public string Forename { get { return sForename; } set { sForename = value; } }
public string Surname { get { return sSurname; } set { sSurname = value; } }
Run Code Online (Sandbox Code Playgroud)

然后我有另一个类并为这个类创建一个对象并将每个对象存储在一个集合中,如下所示;

clUserDetails = New Collection
Dim objUserDetails as new UserDetails
objUserDetails.Username = "SomeonesUsername"
objUserDetails.Forename = "SomeonesForename"
objUserDetails.Surname = "SomeonesSurname"
clUserDetails.Add(objUserDetails)
Run Code Online (Sandbox Code Playgroud)

并且该类还具有返回集合的函数

Public Function Items() As Collection
   Return clUserDetails
End Function
Run Code Online (Sandbox Code Playgroud)

现在我通过循环遍历每个对象并分配一个对象来获取属性或执行以下操作来检索它

objUsers.Items(1) 
Run Code Online (Sandbox Code Playgroud)

现在在C#中我试图使用List <>,因为我找不到集合对象.我假设这是VB的事情,所以想要一些帮助,如何在C#中实现这一点.

我尝试了以下内容

private List <UserDetails> clUserDetails;
UserDetails objUserDetails = new UserDetails();
objUserDetails.Username = "Username";
objUserDetails.Forename = "Forename";
objUserDetails.Surname = "Surname";
clUserDetails.Add(objUserDetails);
Run Code Online (Sandbox Code Playgroud)

但我被困在如何获得此列表/集合的单个对象.

有人可以帮忙

小智 5

这是你想要做的吗?

你的型号:

public class UserDetails
{
    public string Username { get; set; }
    public string Forename { get; set; }
    public string Surname { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

并创建/添加用户到List <>

var userDetails = new UserDetails
{
    Username = "Username",
    Forename = "Forename",
    Surname = "Surname"
}; // object initialiser

var listOfUsers = new List<UserDetails>();
listOfUsers.Add(userDetails);
Run Code Online (Sandbox Code Playgroud)

然后使用索引检索(如果它存在),如下所示:

listOfUsers[0].Forename
Run Code Online (Sandbox Code Playgroud)