가장 좋은 방법은 C#의 Serializer 및 Deserializer의 강력한 기능을 사용하는 것입니다.이 기능을 사용하면 Object Oriented 파일로 작업 할 수 있습니다. 동시에 파일 등 ...에 저장하는 것에 대해 걱정할 필요가 없습니다.
다음은 내가 작성한 샘플 코드입니다.
using System;
using System.IO;
using System.Collections;
using System.Xml.Serialization;
namespace ConsoleApplication3
{
public class UrlSerializer
{
private static void Write(string filename)
{
URLCollection urls = new URLCollection();
urls.Add(new Url { Address = "http://www.google.com", Order = 1 });
urls.Add(new Url { Address = "http://www.yahoo.com", Order = 2 });
XmlSerializer x = new XmlSerializer(typeof(URLCollection));
TextWriter writer = new StreamWriter(filename);
x.Serialize(writer, urls);
}
private static URLCollection Read(string filename)
{
var x = new XmlSerializer(typeof(URLCollection));
TextReader reader = new StreamReader(filename);
var urls = (URLCollection)x.Deserialize(reader);
return urls;
}
}
public class URLCollection : ICollection
{
public string CollectionName;
private ArrayList _urls = new ArrayList();
public Url this[int index]
{
get { return (Url)_urls[index]; }
}
public void CopyTo(Array a, int index)
{
_urls.CopyTo(a, index);
}
public int Count
{
get { return _urls.Count; }
}
public object SyncRoot
{
get { return this; }
}
public bool IsSynchronized
{
get { return false; }
}
public IEnumerator GetEnumerator()
{
return _urls.GetEnumerator();
}
public void Add(Url url)
{
if (url == null) throw new ArgumentNullException("url");
_urls.Add(url);
}
}
}
어떻게 현재 목록을 유지하고 있습니까 (어디에서 가져오고 어디에서 저장합니까?). 코드를 게시 할 수 있습니까? –
그것은 당신이 말하는 사이트의 양에 달려 있지만 소량 (100>)에 대해서는 설정 파일에 아무런 문제가 없습니다. – Pogrindis
레지스트리 사용은 다른 옵션입니다. – HABO