如何获取存储在列表中的数据

本文关键字:列表 数据 存储 何获取 获取 | 更新日期: 2023-09-27 18:34:44

我想从第一个列表(对象列表(生成一个随机数并将其放入第二个列表中以获取随机连接 ID 以在原始 id 和随机 id 之间建立连接 我如何通过索引从第一个列表中获取项目以及我必须强制转换它的类型

  public class OneHub :Hub
{
    static List<UserId> ConnectedUser = new List<UserId>();
    static List<MessageDetail> CurrentMessage = new List<MessageDetail>();
    static List<ConnectionsId> Connection = new List<ConnectionsId>();

    public void Connect(string id)
    {
        if (ConnectedUser.Count(x => x.ConnectionId == id) == 0)
        {
            ConnectedUser.Add(new UserId { ConnectionId = id });
            if (ConnectedUser.Count != 0 || ConnectedUser.Count != 1)
            {
                Random r = new Random();
                    int x = r.Next(0,ConnectedUser.Count);
                    (object)ConnectedUser.item[x];
                    Connection.Add(new ConnectionsId {ConnectionId=id,ConnectionId2= })     
   }}}

如何获取存储在列表中的数据

首先,在添加该连接之前,您需要确保随机获得的 ConnectedUser 不是您要链接到的同一用户,否则您会发现更多问题。

对于ConnectedUser,您可以通过简单地使用ConnectedUser[x]来获取索引。 (我建议将列表设为复数,这样很明显它们是集合。

您需要将该连接的用户分配给新对象。
类似的东西

UserID linkedUser = ConnectedUser[x];

这样,您可以在连接添加中引用linkedUser.ConnectionId

或者,您可以只使用:

Connection.Add(new ConnectionsId { ConnectionId = id, ConnectionId2 = ConnectedUser[x].ConnectionId };

不过,这种随机设置确实有很大的潜力,让几个人最终与任何人没有联系。 此外,您的行指出:

if (ConnectedUser.Count != 0 ...

是多余的。 您刚刚将用户添加到该列表中。 它的大小不应为 0。