Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 列表<;对象>;串_C#_Sqlite - Fatal编程技术网

C# 列表<;对象>;串

C# 列表<;对象>;串,c#,sqlite,C#,Sqlite,我试图从数据库中查询,它返回列表,我需要medName字段的字符串[] public List<Medicines> selectMeds() { try { using (var connection = new SQLiteConnection(System.IO.Path.Combine(folder, "mediapp.db"))) {

我试图从数据库中查询,它返回列表,我需要medName字段的字符串[]

public List<Medicines> selectMeds()
        {
            try
            {

                using (var connection = new SQLiteConnection(System.IO.Path.Combine(folder, "mediapp.db")))
                {
                    return connection.Table<Medicines>().ToList();

                }
            }
            catch (SQLiteException ex)
            {
                Log.Info("SQLiteEx", ex.Message);
                return null;
            }
        }

如何将sqlite数据库中的一列查询为字符串[]?或者我可以将Medicine对象转换为字符串[],只获取medName的值吗?

只需在表格内容上选择,如:

string[] meds = connection.Table<Medicines>().ToList().Select(x=>x.medName).ToArray();
string[]meds=connection.Table().ToList().Select(x=>x.medName.ToArray();

您需要使用
选择
投影
,然后通过调用
ToArray
方法将查询具体化为数组:

var meds = connection.Table<Medicines>().Select(med => med.medName).ToArray();
var meds=connection.Table().Select(med=>med.medName.ToArray();

try:
connection.Table().Select(c=>c.medName.ToArray()将此添加为answer@EhsanSajjad,以便我可以标记您的答案。它起作用了!Thanks@jtyg补充说,我根本不会改变这个方法。我将使用此方法返回的
列表
,在需要字符串列表的代码点应用此处公开的解决方案和副本中的解决方案。
var meds = connection.Table<Medicines>().Select(med => med.medName).ToArray();