我以前写过这个
if (condition)
{
str = "A";
}
else
{
str = "B";
}
finalstr = "Hello "+str;
不知道有没有更好的办法。
我想要的是
finalstr = "Hello "+ if (condition) {str = "A"} else {str = "B"};
或者
finalstr = "Hello "+ condition ? "A" : "B";
像 $var = “你好”.if(condition)...
在 PHP 中。
有没有类似的方法将条件直接放入字符串中?
在条件的简单数字示例中,对于超过2个结果:
var c = 1; // Algorithm / console input / etc...
var result = "hello " + c switch
{
1 => "variant a",
2 => "variant b",
_ => "default variant if there is no specific match"
};
所述条件不必是数字,此模式基本上适用于其他所有内容。
您可以做到:
finalstr = "Hello " + (condition ? "A" : "B");
或者
finalstr = $"Hello { (condition ? "A" : "B") }";
或使用<code>字符串。格式</code>
finalstr = string.Format("Hello {0}", condition ? "A" : "B");
或者您可以创建一个适合您需要的扩展:
public static class StringExtension
{
// it's not needed since C# supports ternary, but I did it anyway
public static string If(this string str, Func<string, string> condition)
{
return string.IsNullOrWhiteSpace(str) ? str : $"{str} {condition(str)}";
}
}
那么你可以这样做:
finalstr = "Hello".If(x => x == str ? "A" : "B");
主要内容:直接定义字符串,使用 String 类定义字符串是 Java 中特殊的类,使用方法像一般的基本数据类型,被广泛应用在 Java 编程中。Java 没有内置的字符串类型,而是在标准 Java 类库中提供了一个 String 类来创建和操作字符串。 在 Java 中定义一个字符串最简单的方法是用双引号把它包围起来。这种用双引号括起来的一串字符实际上都是 String 对象,如字符串“Hello”在编译后即成为 String 对象。因此也可以通
问题内容: 在此结构定义中: 字符串 “ json:message” 的含义是什么,以及如何访问它(如果可访问)。先感谢您。 问题答案: 这些是结构标记。包使用此struct标记 将对象转换为JSON,并将 JSON字符串转换为对象 在将一个结构封送(编码)为JSON字符串时,它将查找此struct标记以分配 键名,如果不存在,则它可能会使用结构字段名本身 顺便说一句语法是错误的 这是供参考的示例
问题内容: 为了回答这个问题,我设法通过转义反斜杠来使字符串成为转义字符。 当我尝试将其概括为转义所有转义的字符时,它似乎无能为力: 但是对于特定的转义字符使用相同的方法,它确实起作用: 有一般的方法可以做到这一点吗?应包括,,,等。 问题答案: 使用r’text’将字符串定义为raw,如下面的代码所示:
问题内容: 我想知道为什么以下程序会抛出NPE 而这 不。当然,这是一个优先级问题,我很好奇串联的工作原理。 问题答案: 这是理解运算符优先级的重要性的一个示例。 您需要括号,否则解释如下: 有关运算符及其优先级的列表,请参见此处。另请注意该页面顶部的警告: 注意:甚至有可能混淆时,请使用显式括号。
我不明白这个错误: TypeError:string是未定义的函数d3_time_parse(date,template,string,j){var c,p,i=0,n=template.length,m=string.length;... 这里是我的代码:
在普通字符串中,我可以用反斜杠转义: 在字符串文字中有可能做同样的事情吗?反斜杠不再是转义字符: 到目前为止,我看到的唯一解决方案是字符串连接,这非常难看,以及嵌套插值,这开始变得有点可笑: