错误:"System.InvalidCastException: 'Specified cast is not valid."



我试图运行应用程序,但当我运行它给出了这个错误异常抛出:"系统。InvalidCastException: '指定的类型转换无效'"在if语句中。

代码如下:

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using EMN.Models;
using Xamarin.Forms;

namespace EMN
{
public partial class MainPage : ContentPage {
private ObservableCollection<TestModel> myrootobject;
public MainPage() {
InitializeComponent();
BindingContext = this;
string[] dailyArray = new string[7] { "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica" };
MyDay.Text = dailyArray[0];
var assembly = typeof(MainPage).GetTypeInfo().Assembly;
Stream stream = assembly.GetManifestResourceStream("EMN.Dieta.json");
using (var reader = new System.IO.StreamReader(stream)) {
var json = reader.ReadToEnd();
List<TestModel> mylist = JsonConvert.DeserializeObject<List<TestModel>>(json);
myrootobject = new ObservableCollection<TestModel>(mylist);
for(int i = 0; i < mylist.Count; i++) {

if (mylist[i].Giorno == "Lunedì") {
MyListView.ItemsSource = (System.Collections.IEnumerable)mylist[i];
}
}
}

}
}
}
你能帮我解决这个问题吗?提前谢谢。

这没有任何意义。您正在获取一个数据列表,挑选出单个项目,并尝试将其再次转换为列表。这行不通

for(int i = 0; i < mylist.Count; i++) {
if (mylist[i].Giorno == "Lunedì") {
MyListView.ItemsSource = (System.Collections.IEnumerable)mylist[i];
}
}
相反,您可以选择列表中符合条件的所有元素
MyListView.ItemsSource = myList.Where(x => x.Giorno == "Lunedi").ToList();

相关内容

最新更新