Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
320 views
in Technique[技术] by (71.8m points)

c# - Turning a string into an operator

What I'd like to know is how to turn a string into an operator.

I'd like to be able to compare one value with another, and the condition for whether it is true or not is a string. For example the string might ne '>' or '>=' or something else I can define like 'GREATER_THAN'.

Is the best way just a case or is there something better using all the wizadry of C#?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can use this simple method:

private bool Compare(string operator, int x, int y)
{
    switch (operator)
    {
        case ">": return x > y;
        case "<": return x < y;
        case "==": return x == y;
        ... etc.            
    }
}

bool result = Compare(">", 6, 8);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...