社区
C#
帖子详情
关于集合的类型
jcyluck
2012-10-08 11:42:46
WINFORM程序,我要建立一个这样的集合,第一列KEY值(STRING 类型),第二列STRING 类型,第三列 OBJECT类型,第四列STRING类型,用什么方法来构造这样的集合比较好?当然需要系统开销小的,求教!!
...全文
266
12
打赏
收藏
关于集合的类型
WINFORM程序,我要建立一个这样的集合,第一列KEY值(STRING 类型),第二列STRING 类型,第三列 OBJECT类型,第四列STRING类型,用什么方法来构造这样的集合比较好?当然需要系统开销小的,求教!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
全栈极简
2012-10-09
打赏
举报
回复
多于多列的,还是用datatable吧。
zhanglong19891129
2012-10-09
打赏
举报
回复
4.0才有tuple 吧
jcyluck
2012-10-09
打赏
举报
回复
顶一个,期待更好的方案。。。
超人会飞
2012-10-09
打赏
举报
回复
Dictionary<string, Tuple<string, object, string>>
enaking
2012-10-09
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
用一个struct吧,
struct my1
{
public string m_strFirstColumn;
public string m_strSecondColumn;
public object m_rThirdColumn;
public string m_str4;
}
Dictionary<string,my1> a=new Diction……
[/Quote]
正解
wanghui0380
2012-10-09
打赏
举报
回复
datatable中可以存储 OBJECT类型吗? 没有问题。datatable是仿数据库实现,相当与一个内存数据库
还是那句话如果是数据库你要放object会怎么办?要么二进制流,要么序列化xml,要么干脆拆成另一张关联表。
ok。
二进制流--》object二进制序列和反序列可以
序列化xml--》这个也不必多说
datatable关联表--》ado.net允许滴,自己看msdn的 datatset里多个datatable关联表
-----------------------------------------------------------------------
list<T> 如果T不是类或是结构类型,允许多列的存在吗
如果T不是类或结构类型??这话说滴,net里还存在除了 引用类型 或 值类型以外的其他类型吗??
jcyluck
2012-10-09
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
我滴个脑子啊
对于winform,datatable其实可以,只是如果非要矫情啥开销,那么Dictionary<string,object> list<object>均可
变通,变通,还是变通!object 是对象,对象可以有任意属性,包括ls的Dictionary<string, Tuple<string, object, string>>仍然还是Dictionary<string,ob……
[/Quote]
datatable中可以存储 OBJECT类型吗?
list<T> 如果T不是类或是结构类型,允许多列的存在吗?
jcyluck
2012-10-09
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
用一个struct吧,
struct my1
{
public string m_strFirstColumn;
public string m_strSecondColumn;
public object m_rThirdColumn;
public string m_str4;
}
Dictionary<string,my1> a=new Diction……
[/Quote]
我原来在一些小型的集合中是用类来构造的,和你使用结构的方法一致,但现在这个集合会变得很大,所以就要考虑一下性能的问题,是用类好呢,还是用结构好呢?有没有更简单,更快的方法?
jcyluck
2012-10-09
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
Dictionary<string, Tuple<string, object, string>>
[/Quote]
高手啊,我还不知道这个 Tuple 的存在!!!
wanghui0380
2012-10-09
打赏
举报
回复
我滴个脑子啊
对于winform,datatable其实可以,只是如果非要矫情啥开销,那么Dictionary<string,object> list<object>均可
变通,变通,还是变通!object 是对象,对象可以有任意属性,包括ls的Dictionary<string, Tuple<string, object, string>>仍然还是Dictionary<string,object>的变体
所以如果你想要有唯一key,使用Dictionary<string,object> 和datatable都可以
如果不想唯一key,则使用datatable或者list <object>
当然,使用Dictionary<string,object>、Dictionary<string, Tuple<string, object, string>> 相对来说绑定麻烦点,个人还是推荐list<T>或datatable,绑定容易操作
ps:别看博客园那些没啥根据的水文,datatable其实并没有啥非常不能忍受的性能开销。
stonespace
2012-10-09
打赏
举报
回复
用一个struct吧,
struct my1
{
public string m_strFirstColumn;
public string m_strSecondColumn;
public object m_rThirdColumn;
public string m_str4;
}
Dictionary<string,my1> a=new Dictionary<string,my1>();
不过这样第一列会有冗余,也可以在my1中去掉m_strFirstColumn,
threenewbee
2012-10-09
打赏
举报
回复
Dictionary<string, Tuple<string, object, string>>
分布式缓存技术Redis在C#中的使用
Redis是一款开源的、高性能的键-值存储(key-value store)。它常被称作是一款数据结构服务器(data structure server)。Redis的键值可以包括字符串(strings)、哈希(hashes)、列表(lists)、
集合
(sets)和 有序
集合
(sorted sets)等数据
类型
。 对于这些数据
类型
,你可以执行原子操作。例如:对字符串进行附加操作(append);递增哈希中的值;向列表中增加元素;计算
集合
的交集、并集与差集等。
提高C#编程水平的50个要点
提高C#编程水平的50个要点 肯定对你有帮助
redis-3.2.1.gem
redis3.0 集群工具
redis2.8+jedis2.5+jedis英文api
redis2.8windows64位版本+jedis2.5jar+jedis英文api
java基础教程----精华版
java基础教程----精华版,不得不下载的资源
C#
111,120
社区成员
642,538
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章