c#中使用条件运算符的字符串

本文关键字:字符串 条件运算符 | 更新日期: 2023-09-27 18:15:59

我的程序输出应该打印n是否奇怪。我尝试了下面的代码,但当我运行代码时,它抛出了一个错误,如"只能使用数组初始化表达式来分配给数组类型。试着用一个新的表达代替"。有人能更正一下代码吗?提前谢谢。

规则如下:如果N是奇数,则输出Weird如果N是偶数且在2 ~ 5的范围内,则输出Not Weird如果N为偶数且取值范围为6 ~ 20,则输出"Weird"如果N是偶数且大于20,则打印Not Weird

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
class Solution
{
  static void Main(String[] args)
  {
      int N = Convert.ToInt32(Console.ReadLine());
      string s = {(N%2 !=0 ? "Weird" : (N>20 ? "Not Weird" : ((N > 1 && N <6) ? "Not Weird" : "Weird")))};
      Console.writeLine(s);
  }
}

c#中使用条件运算符的字符串

你的错误是因为……你正在使用数组初始化器。

当您实例化字符串时,使用{}初始化一个数组,相反,您应该完全删除该部分并使用

string s = (N%2 !=0 ? "Weird" : (N>20 ? "Not Weird" : ((N > 1 && N <6) ? "Not Weird" : "Weird")));

数组初始化器可以用于字符串,但只有当你正在创建一个char数组

string s = new char[] { 'H', 'e', 'l', 'l', 'o', };