有人可以帮助我解决这个逻辑使用C#

下面是我正在尝试做的逻辑。可以帮助我使用C#来解决这个问题。

 string strMessage=string.empty;
 for (int i = 0; i < 20; ++i)
 {
     switch i
        {
        Case 1,2,7,5:
          strMessage="You Won";
    break;
        Case 6,8,10,3:
          strMessage="You can try again";
    break;

         }

   }
Response.write(strMessage);

每当i的值是1,2,7或5 strMessage =“你赢了”每当我的值是6,8,10或3时strMessage =“你可以再试一次”


你可以用类似的东西去

public string Evaluate(int value)
{            
    if (new[] {1, 2, 7, 5}.Contains(value)) return "You Won";
    return new[] {3, 6, 8, 10 }.Contains(value) ? "Try again" : "";
}

不知道你用循环做什么...看起来有点坏,但是如果你试图写出每个0..19

Enumerable.Range(0, 20).Select(Evaluate).ToList().ForEach(Response.write);

string strMessage = string.Empty;

for (int i = 0; i < 20; ++i) 
{
    switch(i)
    {
        case 1:
        case 2:
        case 7:
        case 5:
            strMessage = "You Won";
            break;
        case 6:
        case 8:
        case 10:
        case 3:
            strMessage = "You can try again";
        break;
    }
}

Response.write(strMessage);

这个特定的代码总是会导致

strMessage = "You can try again";

由于for循环和事实,当我> 10的开关将不会做任何事情。

链接地址: http://www.djcxy.com/p/84461.html

上一篇: Can some one help me solve this logic using C#

下一篇: Multple Criteria in a Single Case inside a Switch Statement