只是大小写问题吗?先把text内容转成统一的小写或大写
解决方案 »
- C#怎么获取进程用户名?
- c/s 架构的服务端的问题 知道用友 金蝶 之类的请进
- 请高手帮忙瞧瞧会不会引起内存泄漏
- 有关WINDOWS服务程序
- 初学c#,做个个人主页,大家评一下,采用web Service
- vs.net有没有格式化代码的选项?
- 也谈c#的前途????????????方向!!!!!!!!!!!
- SQL SERVER可以往消微软息队列(MSMQ)发送消息吗?怎么实现? 其他的SERVER 呢?如EXCHANGE 等
- 访问Excel遇到的问题
- VS.Net不能调试?
- email发送问题,请指教!
- 怎样在安装程序里加入.net framework的安装.如使用者机器没有安装,就自动安装.
我只是举了一个例子,比如"3>2",可以写成if (3>2)
但如果text = "3>2",那么这个if 怎么写?用text表示!就像if (text)当然这是错误的,我不知道怎么表达?
{
}
除非自己去解析text,如果情况不复杂应该可行
函数如下:
bool fCompare(string text, string conditionType, string conditionVal)
{
switch (conditionType)
{
case "=":
return text == conditionVal;
case ">":
return text.CompareTo(conditionVal) > 0;
case "<":
return text.CompareTo(conditionVal) < 0;
case ">=":
return text.CompareTo(conditionVal) >= 0;
case "<=":
return text.CompareTo(conditionVal) <= 0;
default:
return false;
}
}
text=text.ToString()+condition.ToString();
if(Convert.ToBool(text.ToString())){
}
MessageBox.Show("HELLO");
switch(...)
{
case a:
case b:
case c:
default:
}
if (/*这里的具体条件不定*/)
只知道text的值是会变的,还有一个变量condition是用户传过来的,condition的值可能是比如:="HELLO",text的值可能是:"hello",
这样if语句括号中的条件就是为text + condition的值即:"hello"="HELLO",
但是如果写成if (text + condition)那是错误的,因为text + condition是字符串不是bool型,
有什么办法可以解决这个问题?
=============================你说的 text 和 condition 到底是什么数据类型?
你开始的例子中是 String 型,后来的例子怎么又是 “text = "3>2"”,什么意思?
你是要解析字符串中的 int 数据,还是做字符串比较???
text 和 condition都是 string型
条件判断语句就是text + condition
duanzj(过客) 和 tomsoncat(可以包含中文字符)的理解是对的,但是方法不怎么好
然后转换为a==b是不?
if(text==condition)
{
MessageBox.Show("HELLO");
}
static bool Handle(string text, string condi) {
if (condi.Length == 0) {//输入错误
}
string other = condi.Substring(1);
switch (condi[0]) {
case '=':
return text.CompareTo(other) == 0;
case '>':
return text.CompareTo(other) > 0;
case '<':
return text.CompareTo(other) < 0;
case '>=':
return text.CompareTo(other) >= 0;
case '<=':
return text.CompareTo(other) <= 0;
default:
//出错处理 }
return false;
}
然后用这个串里的条件做为条件是吗?那你就要自己写类分析条件字符串,就像编译系统一样
既然一开始不能确定IF的话
觉得xixigongzhu(夕夕公主) 的方法很好,我也不用多想了