有几个变量,MyName,MyCode,MyTime,MyContent
我想给他们赋多组值,可以通过MyCode的值在list或是数组查询到该组记录,也可以修改MyCode=xxx的某组记录的其他变量值,
也可以把MyCode=xxx的某组记录清除掉.
请问,定义个list还是数组?
怎么定义,操作呀?
我想给他们赋多组值,可以通过MyCode的值在list或是数组查询到该组记录,也可以修改MyCode=xxx的某组记录的其他变量值,
也可以把MyCode=xxx的某组记录清除掉.
请问,定义个list还是数组?
怎么定义,操作呀?
解决方案 »
- C# Panel AutoScroll 子控件显示问题
- vs2005 textbox文本框里显示出combbox里选中的文本
- 关于System.Configuration.ConfigurationManager.AppSettings[key];的问题
- 如何获取照片的摄影机类型和拍照时间(winform程序)
- 自定义控件中如何实现如ComboBox下拉列表夸越窗体边界显示的功能?
- 请问如何才能让IE浏览器正确解析HTML代码中的URL????????
- 关于滚动条
- 关于access权限的问题,我在WIN2000上调试可以通过,可是在WINXP上却提示无法执行一个可更新的查询
- 定义一个属性怎么自动产生相应的get和set 代码片段呢?
- windows编程中datagrid控件中可不可以加入combolist控件,实现某一列通过选择来赋值
- 用C#控制按钮的BevelBitmapEffect效果
- VS2010 CHART控件
{
public string MyName { get; set; }
...
public string MyContent { get; set; }
}List<SomeObj>
ArrayList myArrayList = new ArrayList();
myArrayList.Add()
myArrayList.Add()
……
{
public List<string> lstMyName{ get; set; }
public List<string> lstContent { get; set; }}
t.lstMyName.Add("");
var datas = new List<SomeObj> {
new SomeObj { MyCode="a1", MyContent="aaa" },
new SomeObj { MyCode="b1", MyContent="bbb" }
}
//查找MyCode=a1
var obj = datas.Find(x => x.MyCode == "a1"); //删除
datas.Remove(obj);
另外,C#里有var??
datas.Add(record);var 关键字是.net 3.5开始支持的。
查找findall,find(delegate
也可使用from q in lst
删除remove,removeat
此话不妥,
var是C# 3.0新增的关键字,跟.net 3.5没什么关系.
using System;
using System.Collections.Generic;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Dictionary<string, MyClass> dic = new Dictionary<string, MyClass>();
dynamic m1 = new MyClass { Code = "01", Content = "avd", Name = "gqqnb", Time = "2011" };
dic.Add(m1.Code, m1);
dynamic m2 = new MyClass { Code = "02", Content = "hello", Name = "myself", Time = "2010" };
dic.Add(m2.Code, m2);
Console.WriteLine(dic[m1.Code]);
}
} class MyClass
{
public string Name { get; set; }
public string Code { get; set; }
public string Time { get; set; }
public string Content { get; set; } public override string ToString()
{ return "Code = " + Code + ", Content = " + Content + ", Name = " + Name + ", Time = " + Time; }
}
}
var obj = datas.Find(x => x.MyCode == "a1"); 是不是只查出一组?
namesapce MyTest
{
//<T>中的T可以写成任意的名称T不是保留字
public class TestClass<T>
{
T m_Data;//这里T表示m_Data的类型,它将在编译时由其他代码决定
public TestClass<T>(T data)
{
m_Data=data;
}
} public class TestProgram
{
/*下面代码中TestClass类的T参数分别被设置成int,string,object和float,所有用到参数T的地发都将被实际的类型所替代
*/
public TestClass<int> intData;
public TestClass<string> stringData;
public TestClass<object> objectData;
public TestClass<float> floatData; public TestProgram()
{
intData=new TestClass<int>(1);
stringData=new TestClass<string>("Test");
objectData=new TestClass<object>("someData");
floatData=new TestClass<float>(1.3f);
}
}
}以上就是泛型最简单的应用。关于list<>的用法和上面相同。不过泛型的类型参数在实际应用中一般是要用where关键字加约束的。具体可以参考msdn
lz可以试试看
{
public string MyName { get; set; }
...
public string MyContent { get; set; }
}List<SomeObj>
否则 System.Collections.Generic.List + Linq