百分求1解决方法:) 各位走过路过千万不要错过 先贴下样式A类下面有A1,A2,A3分类A1下面有1,2,3A2下面有4,5,6A3下面有7,8,9B类下面有B1,B2分类B1下面有1,2,3B2下面有4,5,6不用数据库 只把这些数据关系写在 cs 里面 ,求怎么做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 =.= 表述不清楚吧一个大类别是A,这个A下面有几个小类别A1,A2,A3, 在每个小类别里面的数据就是1,2,3.. 一个总类,分A,B , A,B里面有各自的小类...其实我想问 怎么把他们的关系用一个结构表现出来 不用数据库,还不让用DataTable?XML也不让用?ArrayList也不让用? 用xml不是很好么string xml = @"<T> <A> <A1><d v=""1""/><d v=""2""/><d v=""3""/></A1> <A2><d v=""4""/><d v=""5""/><d v=""6""/></A2> <A3><d v=""7""/><d v=""8""/><d v=""9""/></A3> </A> <B> <B1><d v=""1""/><d v=""2""/><d v=""3""/></B1> <B2><d v=""4""/><d v=""5""/><d v=""6""/></B2> </B></T>";XmlDocument tree = new XmlDocument();tree.LoadXml(xml);XmlNodeList list = tree.SelectNodes("T/A/A1/d");Console.WriteLine(list[1].Attributes["v"].Value); 在CS创建一个DataSet.然后写到里面。 public class A { public A() { childs = new List<object>(); } private List<Object> childs; public List<Object> Childs { get { return childs; } } public void Add(object o) { childs.Add(o); } public void Remove(object o) { childs.Remove(o); } public int Count { get { return childs.Count;} } public Object Data; } A a = new A(); A a1 = new A(); a1.Data = 1; A a2 = new A(); a2.Data = 2; A b1 = new A(); b1.Data = 5; a2.Add(b1); a.Add(a2); 在加点约束机制就行啦,用泛型或者接口都可以 改成 private List<A> childs; 楼上正解,典型的Composite模式 使用内存DataSet不算是使用数据库吧,使数据持久化通过//写xmlthisDataSet.WriteXml(filename,XmlWriteMode.DiffGram );//读xmlthisDataSet.ReadXml(filename,XmlReadMode.DiffGram ); 接下来就好办了,在数据集中增加Categories分类表,Items项数据表和两者的交叉引用表。就行了。下面http://blog.csdn.net/zhzuo/archive/2005/12/03/542956.aspx这个软件中的集合部分的功能就是通过以上方式来实现的。 TextBox里面的字符串响应鼠标单击事情 如果在XAML中对变量进行取反运算? 类型 转换 问题! 短信猫国内哪几家做的好,相对比较可靠。 调用c++Dll函数,如何生成参数(C#) 用c#新建一个csv文件,其中有一字段是备注memo类型,为什么插入数据内容时不全,内容被截断了? 如何抽取文本文件的信息阿 如何李勇pdfbox实现pdf文件总得关键字搜索和高亮显示? 在ASP.NET里面,怎么讀取XML文件? 很急的问题(分快送完了,只能给20分了) 用鼠标点击一个尚未获得焦点的TextBox时也会触发的TextChanged事件? C#中pictureBox控件随窗口大小而改变大小
<T>
<A>
<A1><d v=""1""/><d v=""2""/><d v=""3""/></A1>
<A2><d v=""4""/><d v=""5""/><d v=""6""/></A2>
<A3><d v=""7""/><d v=""8""/><d v=""9""/></A3>
</A>
<B>
<B1><d v=""1""/><d v=""2""/><d v=""3""/></B1>
<B2><d v=""4""/><d v=""5""/><d v=""6""/></B2>
</B>
</T>";XmlDocument tree = new XmlDocument();
tree.LoadXml(xml);
XmlNodeList list = tree.SelectNodes("T/A/A1/d");
Console.WriteLine(list[1].Attributes["v"].Value);
{
public A()
{
childs = new List<object>();
}
private List<Object> childs; public List<Object> Childs
{
get { return childs; }
}
public void Add(object o)
{
childs.Add(o);
}
public void Remove(object o)
{
childs.Remove(o);
}
public int Count
{
get { return childs.Count;}
}
public Object Data;
}
A a = new A();
A a1 = new A();
a1.Data = 1;
A a2 = new A();
a2.Data = 2;
A b1 = new A();
b1.Data = 5;
a2.Add(b1);
a.Add(a2);
在加点约束机制就行啦,用泛型或者接口都可以
//写xml
thisDataSet.WriteXml(filename,XmlWriteMode.DiffGram );
//读xml
thisDataSet.ReadXml(filename,XmlReadMode.DiffGram ); 接下来就好办了,
在数据集中增加Categories分类表,Items项数据表和两者的交叉引用表。就行了。
下面
http://blog.csdn.net/zhzuo/archive/2005/12/03/542956.aspx
这个软件中的集合部分的功能就是通过以上方式来实现的。