日期:2014-05-17  浏览次数:20484 次

一个问题求解决方法
我先从数据库中查询出type,比如说可能是A,B然后我在后台做判断
if(A)
{
  jisuan1(str1,str2)
}
if(B)
{
  jisuan2(str1,str2)
}
jisuan1(string s1,string s2)
{
  return s1+s2;
}
jisuan2(string s1,string s2)
{
  return s2+s1;
}
//我的思路这里有一步来决定使用哪种方法jisuan1 或者 jisuan2
然后要在数据库中这样插入数据
DataTable dt = ....
foreach(DataRow dr in dt.rows)
{
  string no = 这里就可以使用已决定的方法了
  insert into tab1(NO,name) values(no,dr[0].tostring());
}
迷茫啊,求指点迷津

------解决方案--------------------
三目运算符

type==A ? jisuan1(s1,s2):jisuan2(s1,s2)
------解决方案--------------------
1.查表法
Dictionary<string, Func<string, string, string>> funcs = new Dictionary<string, Func<string, string, string>>();
funcs.Add("A", (s1, s2) => {return "我是方法A"; });
funcs.Add("B", (s1, s2) => { return "我是方法B"; });
2.工厂方法
------解决方案--------------------
你的思路已经很清晰了,就是根据type来判断使用哪种方法。可以尝试使用switch方法
------解决方案--------------------
也可以考虑在jisuan方法中多加一个type参数,这样就可以一个方法够用了!