0
나는 Songs의 목록을 가지고 있습니다. 나중에로드 할 때이 목록을 저장해야하지만 고유 ID가 내장되어 있지 않으므로 트랙 제목과 아티스트를 저장하는 KeyValuePair
만 사용하고 있습니다. 이것은 충분히 독특해야하지만이 방법만으로도 내 PC에서 1800 트랙을 50 초 걸릴 수 있습니다. (I 코드를 업데이트했습니다. MediaLibrary
은 실행 가능한 코드를 바로했다.노래 직렬화
List<KeyValuePair<string,string>> kv = new List<KeyValuePair<string,string>>();
List<Song> chosenSongs = new List<Song>();
//...code to add to chosenSongs
var songs = chosenSongs;
// var songs = new MediaLibrary().Songs;
for(int i = 0; i < songs.Count; i++)
{
kv.Add(new KeyValuePair<string, string>(songs[i].Name, songs[i].Artist.ToString()));
}
이 너무 느리고 아직 진행되고에는 직렬화가 없습니다. 있나요 형 노래의 객체 직렬화의 더 나은 방법?
왜 노래를 직렬화해야합니까? 목록에 시간이 걸리는 것이 확실한가요? 특히 MediaLibrary(). Songs에 대한 호출 인 것으로 기대합니다. 특히 많은 경우가 있습니다. –
'KeyValuePair'를'List'에 추가 할 때 나쁜 성능이 발생 했습니까? – Fendy
그렇게하려면 50 초가 걸립니다. 응용 프로그램이 디스크에서 해당 정보를 읽으므로 가능성이 있습니다. 메모리에있는 1800 개의 KVP 목록을 만드는 데는 50 초가 걸리지 않습니다. –