c# - 如何调试 "cannot convert to system.collections.generic.list"错误

标签 c# .net xamarin error-handling

var httpClient = new HttpClient();
        var response = await httpClient.GetStringAsync("http://192.168.1.57/smsapi/api/kullanici/" + viewModel.Item.ID);
        var GrupKullanicilarList = JsonConvert.DeserializeObject<Kullanicilarr>(response);
       ---> string TelefonNoList = GetTelno(GrupKullanicilarList);


public string GetTelno(List<Kullanicilarr> GrupKullanicilarList)
    {
        List<string> TelefonNoList = new List<string>();
        foreach (Kullanicilarr Kullanici in GrupKullanicilarList)
        {
            TelefonNoList.Add("<TelefonNo><TelNo>" + Kullanici.Telefonno.ToString() + "</TelNo></TelefonNo>");
        }

        return string.Join("\n", TelefonNoList);

它在我放箭头的开头的第四行给出了一个错误:“无法从‘SmsApp.Models.Kullanicilarr’转换为‘System.Collections.Generic.List’我应该如何写最后一行?

最佳答案

在第 3 行,

 var GrupKullanicilarList = JsonConvert.DeserializeObject<Kullanicilarr>(response);

您正在将 http 响应反序列化为 Kullanicilarr对象。

你正在通过 KullanicilarrGetTelno(List<Kullanicilarr> GrupKullanicilarList)期望 Kullanicilarr 列表。这就是您收到此错误的原因。

你能检查一下 http 响应是否返回 List<Kullanicilarr> ? 如果是,那么您需要将第 3 行更改为,

 var GrupKullanicilarList = JsonConvert.DeserializeObject<List<Kullanicilarr>>(response);

如果不是,那么你需要改变方法GetTelno参数为 GetTelno(Kullanicilarr GrupKullanicilarList)并更新其功能,因为您将获得单个对象而不是数组

关于c# - 如何调试 "cannot convert to system.collections.generic.list"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58910825/

相关文章:

C# - Linq 将泛型列表转换为自定义类

c# - Asp.net MVC 4 Ajax.BeginForm 提交 + mvc.grid - 页面重新加载

c# - 如何使用 .NET Framework 获取所有事件的 TCP 连接(无非托管 PE 导入!)?

c# - 性能 : assign boolean value always or check value first?

c# - 用信息填充表

xamarin - Xamarin 表单上的 SkiaSharp 文本大小

c# - Parcelable List<string>, List<int>

c# - 全屏 c# windows 窗体覆盖所有显示器

c# - 事件支持 WP 8.1

c# - .Net 5 DateTime.ParseExact 问题