社区
C#
帖子详情
关于集合的类型
jcyluck
2012-10-08 11:42:46
WINFORM程序,我要建立一个这样的集合,第一列KEY值(STRING 类型),第二列STRING 类型,第三列 OBJECT类型,第四列STRING类型,用什么方法来构造这样的集合比较好?当然需要系统开销小的,求教!!
...全文
245
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的键值可以包括字符串(strings)、哈希(hashes)、列表(lists)、
集合
(sets)和 有序
集合
(sorted sets)等数据
类型
。 对于这些数据
类型
,你可以执行原子操作。例如:对字符串进行附加操作(append);递增...
redis-3.2.1.gem
1. **键值存储**:Redis的基础操作是将字符串
类型
的键与各种数据结构
类型
的值关联起来,如字符串、哈希、列表、
集合
和有序
集合
。这种设计使得Redis非常灵活,可以处理多种数据操作需求。 2. **数据结构**: - **...
redis2.8+jedis2.5+jedis英文api
Redis 2.8是一个稳定且广泛使用的版本,提供了丰富的数据
类型
,如字符串、哈希表、列表、
集合
和有序
集合
。 Jedis是Java开发的Redis客户端,它提供了与Redis服务器交互的API,使得在Java应用中使用Redis变得简单。...
java基础教程----精华版
- **数据
类型
**:Java有两大类数据
类型
,即原始
类型
(primitives)和引用
类型
(references)。 - **运算符**:包括算术、比较、逻辑、位、赋值等运算符,用于进行各种计算和判断。 - **流程控制**:如if语句、...
MongoDB学习手册
- **数据格式**:存储的数据格式为key-value对的形式,其中键为字符串
类型
,而值则可以是MongoDB支持的各种数据
类型
。 #### 四、MongoDB的下载与安装 - **下载**:从MongoDB官方网站下载适合不同操作系统的安装包...
C#
110,912
社区成员
642,603
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章