哪个效率更高? 本帖最后由 idonotknowwhatislife 于 2011-01-07 14:29:25 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不好意思,贴过来的代码修改了一下,结果有个地方没注意到…… ==! protected void UpdateState(string stateA, string stateB) { if (stateA == "0") { stateA = "1"; SetLoBcodeState(stateB);//这里应该是 SetStateB(stateB) } else { stateA = "0"; SetLoBcodeState(stateB);//这里应该是 SetStateB(stateB) } } 那要是很大的数据量呢?比如这个平时使用的不是太多,每天1W次,一两年之后要对数据库批量修改,可能到时数据库里有几百万条记录,那么这两者的差别呢?呃,咱们先单纯的讨论讨论算法的事,先不考虑SQL 这种问题,我们考虑的不是效率,而是规则的可配置性不要依赖于你现在的条件,现在的条件实际上过于巧合了。依靠巧合编程,并且依靠巧合去优化,不是一个很好的习惯。so,如果从规则配置的角度出发,一个比较正常的解法是 Dictionary<string,Func<string,bool>> ruls=new Dictionary<string,Func<string,bool>>(); ruls.add("1",c=>c=="0"||c=="1"); 呃……貌似我的习惯很不好……总是想取点巧,省点事,结果最后还是要改来改去的费劲……那个,wanghui0380(放歌)“Dictionary<string,Func<string,bool>> ruls=new Dictionary<string,Func<string,bool……”这个是什么? 字典类我倒是知道,其实我是想问“ Dictionary<string,Func<string,bool>> ruls=new Dictionary<string,Func<string,bool>>(); ruls.add("1",c=>c=="0"||c=="1");”是什么意思的……手一抖,少选中了一行……主要是“c=>c=="0"||c=="1"”不明白…… 是lamada表达式?没玩过……我去搜搜看……唉,VS被我玩崩溃了……呵呵…… 如果是固定的0,1,2,3,LZ为什么不用byte类型而用string来表示它们呢? 这个数据库是别人写好的,如果修改这两个字段的话,代码里会有许多地方需要修改……麻烦……PS:数据库里定义的这两个字段的类型是varchar(1),这里用string来表示会有什么不妥的地方吗? 我嘞个去!傻了……byte是8位无符号整数,我给当成char了……想什么呢我……唉……我就郁闷了,看来要好好休息休息了…… 【分享】【C#】简单自绘带图片的 ComboBox 控件table里如何加链接 c# FastReport 具有相同值的单元格合并问题 C#如何调用photoshop5里面的功能 C#用Socket进行TCP通信,如何接收并解析Xml数据 Windows Moible下用代码删除所有短信和日历时间 notifyIco托盘图标的问题 急!!!!如果我用Graphics绘制好图后要怎么打印呢!? SetWindowPos函数里面的一个参数问题。 Socket服务器异常 LINQ TO XML的问题 C#皮肤控件IrisSkin2.dll与容器控件不能兼容?
{
if (stateA == "0")
{
stateA = "1";
SetLoBcodeState(stateB);//这里应该是 SetStateB(stateB)
}
else
{
stateA = "0";
SetLoBcodeState(stateB);//这里应该是 SetStateB(stateB)
}
}
呃,咱们先单纯的讨论讨论算法的事,先不考虑SQL
ruls.add("1",c=>c=="0"||c=="1");
那个,wanghui0380(放歌)“Dictionary<string,Func<string,bool>> ruls=new Dictionary<string,Func<string,bool……”这个是什么?
ruls.add("1",c=>c=="0"||c=="1");”是什么意思的……手一抖,少选中了一行……
主要是“c=>c=="0"||c=="1"”不明白…… 是lamada表达式?没玩过……我去搜搜看……
唉,VS被我玩崩溃了……呵呵……
PS:数据库里定义的这两个字段的类型是varchar(1),这里用string来表示会有什么不妥的地方吗?
傻了……byte是8位无符号整数,我给当成char了……想什么呢我……唉……
我就郁闷了,看来要好好休息休息了……