我正在做练习,但也提供解决方案,没有解释解决方案中的代码,也无法理解代码。希望我能帮助理解它
练习: 编写一个C#程序,从给定的字符串创建一个新的字符串,其中第一个和最后一个字符将改变它们的位置。
字符串: w3resource 蟒
预期输出 e3resourcw nythoP
解决方案:
public class Exercise16 {
static void Main(string[] args)
{
Console.WriteLine(first_last("w3resource"));
Console.WriteLine(first_last("Python"));
Console.WriteLine(first_last("x"));
}
public static string first_last(string ustr)
{
// code that I don't understand
return ustr.Length > 1
? ustr.Substring(ustr.Length - 1) + ustr.Substring(1, ustr.Length - 2) + ustr.Substring(0, 1) : ustr;
}
}
P.S - 我是C#的初学者,但不是整体编程
答案 0 :(得分:1)
?
运算符在C#中也称为conditional operator。它就像一个微型if
语句,让您在单个表达式中表达整个语句。在这种情况下,它用于验证字符串中至少有两个字符,否则它将返回单个字符串本身。
对于Substring
语句,请考虑每次调用时从ustr
中提取哪些字符...
ustr.Substring(ustrLength - 1)
:提取最后一个字符ustr.Substring(1, ustr.Length - 2)
:从第二个到第二个提取所有字符ustr.Substring(0, 1)
:提取第一个字符按照上面的顺序连接时,您可以看到结果字符串将以原始字符串的最后一个字符开头,后跟所有字符,从第二个到第二个到最后一个,最后是第一个字符。
答案 1 :(得分:0)
基本上它说如果长度大于1则执行:
ustr
如果不是,则返回此字符串变量:
"?:"
这是条件运算符{{1}}:Microsoft Docs Conditional Operator.
的示例子字符串表示您获得特定范围的字符串字符。例如,您可以查看Substring Examples.