Cassandra List数据类型c#获取最后一个元素

本文关键字:最后一个 元素 获取 List 数据类型 Cassandra | 更新日期: 2023-09-27 18:16:20

我在Cassandra DB列表。我使用下面的代码来获取它们

 string query = "select name from table where userid = 'abcd' ;";
            try
            {
                Connector connector = new Connector();
                session = connector.Connect();
                RowSet rows = session.Execute(query);
                if (rows.Columns.Length > 0)
                {
                    foreach (Row row in rows)
                    {
                        data = row["name"].ToString();
                    }
                    status = true;
                }
            }
            else
            {
                // no rows
            }
            session.Cluster.Shutdown();
        }
        catch (Exception ex)
        {
        }

我需要将这个列表对象转换为字符串,现在转换为数组,以便我可以根据需要获取最后一个字符串。

是否有任何内置的方法来做同样的事情?

Cassandra List数据类型c#获取最后一个元素

最后我使用了以下代码

                foreach (Row row in rows)
            {
               object a = row["name"];
                string[] arr = ((IEnumerable)a).Cast<object>()
                                 .Select(x => x.ToString())
                                 .ToArray();
                int ab = arr.Length;
             /*for all items*/
                for(int i=0; i<ab;i++)
                {
                    ltr.AppendText(arr[i]+","+i+" | ");
                }
/*for only last item*/
            string lastItem = arraystring[length - 1];
            }

结合了许多答案,这样做了,它适用于我。

您可以使用Row.GetValue<T>()方法将Cassandra list<string>检索到.NET List<T>:

var list = row.GetValue<List<string>>("name");
string lastValue = list[list.Count - 1];