标签: string-interpolation

是否可以在不使用连接符的情况下在字符串变量中包含C#变量?

.NET 3.5 C#是否允许我们在字符串变量中包含变量,而不必使用+ concatenator(或string.Format()).

例如(在伪,我使用$符号来指定变量):

DateTime d = DateTime.Now;
string s = "The date is $d";
Console.WriteLine(s);
Run Code Online (Sandbox Code Playgroud)

输出:

日期是4/12/2011 11:56:39 AM

编辑

由于提示string.Format()的一些响应,我只能假设当我提到" ...(或string.Format(),就此而言)时,我的原始帖子不清楚".要清楚,我很清楚string.Format()方法.但是,在我正在处理的特定项目中,string.Format()对我没有帮助(实际上比+连接器更差).

另外,我推断大多数/你们都想知道我的问题背后的动机是什么(我想如果我按原样阅读我的问题,我会有同样的感受).

如果你是一个好奇的人,这就是它的缺点:

我正在创建一个在Windows CE设备上运行的Web应用程序.由于Web服务器的工作原理,我在字符串变量中创建了整个网页内容(css,js,html等).例如,我的.cs托管代码可能有这样的东西:

string GetPageData()
    {
    string title = "Hello";
    DateTime date = DateTime.Now;

    string html = @"
    <!DOCTYPE html PUBLIC ...>
    <html>
    <head>
        <title>$title</title>
    </head>
    <body>
    <div>Hello StackO</div>
    <div>The date is $date</div>
    </body>
    </html>
    ";

}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,能够在不需要连接的情况下指定变量,使事情变得更容易 - 特别是当内容增加时.

c# string string-interpolation .net-3.5

10
推荐指数
2
解决办法
1557
查看次数

如何在Scala中使用字符串插值格式化字符串作为固定宽度字符串?

我正在与一个非常古老的系统连接,我需要生成的文件需要一个由字符串组成的字段,但需要正好是15个宽度.

我想要这样的东西:

val companyName = "FooBar, Inc" // 11 chars
f"$companyName%s"
Run Code Online (Sandbox Code Playgroud)

回来:

"    FooBar, Inc"
Run Code Online (Sandbox Code Playgroud)

是否有一种灵巧的方式来做我正在尝试使用字符串插值?

scala padding string-interpolation format-string scala-2.10

10
推荐指数
1
解决办法
7240
查看次数

Ruby:带字符串插值的eval

我不明白,为什么会eval这样:

"123 #{456.to_s} 789" # => "123 456 789"
eval('123 #{456.to_s} 789') # => 123
Run Code Online (Sandbox Code Playgroud)

如何插入内部的字符串eval

更新:

谢谢你,朋友们.有效.

因此,如果您有一个字符串变量#{},您希望稍后进行评估,则应按照以下说明进行操作:

string = '123 #{456} 789' 
eval("\"" + string + "\"")
# => 123 456 789
Run Code Online (Sandbox Code Playgroud)

要么

string = '123 #{456} 789' 
eval('"' + string + '"')
# => 123 456 789
Run Code Online (Sandbox Code Playgroud)

ruby string eval string-interpolation

10
推荐指数
2
解决办法
2万
查看次数

"$"符号在C#6.0中有什么作用?

在MVC 6源代码中,我看到一些代码行,其中包含带有$符号的字符串.

正如我之前从未见过的那样,我认为它是C#6.0中的新功能.我不确定.(我希望我是对的,否则我会感到震惊,因为我从来没有碰过它.

它就像:

var path = $"'{pathRelative}'";
Run Code Online (Sandbox Code Playgroud)

c# string-interpolation c#-6.0

10
推荐指数
1
解决办法
601
查看次数

如何在角度2中替换字符串?

我在html页面中使用了以下插值.

<div>{{config.CompanyAddress.replace('\n','<br />')}}</div>
Run Code Online (Sandbox Code Playgroud)

并且也使用了

<div>{{config.CompanyAddress.toString().replace('\n','<br />')}}</div>
Run Code Online (Sandbox Code Playgroud)

但两者都显示如下文字

{{config.CompanyAddress.replace('\n','<br />')}}
{{config.CompanyAddress.toString().replace('\n','<br />')}}
Run Code Online (Sandbox Code Playgroud)

javascript string-interpolation angular

10
推荐指数
2
解决办法
4万
查看次数

SwiftUI - 显示双精度四舍五入到小数点后两位

我有一个美元(货币)金额,我试图在 Text 元素中使用字符串插值来显示该金额。目前,它显示如 9.9900000。我希望该值仅显示为 9.99。

struct ContentView: View {
var productPrice: Double = 9.99

    var body: some View {
       Text("\(productPrice)")
    }
}
Run Code Online (Sandbox Code Playgroud)

double string-interpolation swiftui

10
推荐指数
1
解决办法
4931
查看次数

YAML中的字符串插值

在Perl中,我可以执行以下操作:

my $home = "/home";
my $alice = "$home/alice";
Run Code Online (Sandbox Code Playgroud)

我可以在YAML中执行以下操作:

Home: /home
Alice: $Home/alice
Run Code Online (Sandbox Code Playgroud)

那么"爱丽丝" /home/alice到底有效吗?

yaml string-interpolation template-variables

9
推荐指数
3
解决办法
2万
查看次数

将字符串转换为f-string

如何将经典string转换为f-string?:

variable = 42
user_input = "The answer is {variable}"
print(user_input)
Run Code Online (Sandbox Code Playgroud)

答案是{变量}

f_user_input = # Here the operation to go from a string to an f-string
print(f_user_input)
Run Code Online (Sandbox Code Playgroud)

答案是42

python string-interpolation python-3.6

9
推荐指数
4
解决办法
4069
查看次数

Python 中 %()s 的含义是什么?

%(asctime)s在日志模块中看到这样

%()s代替是%s什么意思?

我只知道%s意思是“字符串”,我%()s在互联网上找不到其他信息。

python string-formatting string-interpolation

9
推荐指数
2
解决办法
2015
查看次数

无法在另一个命名空间中插入变量 (Raku)

我正在尝试使用插值在另一个命名空间中创建一个变量,但在咨询https://docs.raku.org/language/packages#index-entry-::()后无法使其工作。在测试不同的东西时,我发现了一些让我感到困惑的东西。这有效:

#!/usr/bin/env raku

$Foo::bar = 'foobar';
say $Foo::bar;
Run Code Online (Sandbox Code Playgroud)
#!/usr/bin/env raku

$Foo::bar = 'foobar';
say $Foo::bar;
Run Code Online (Sandbox Code Playgroud)

但这不是:

#!/usr/bin/env raku

my $bar = 'bar';
$Foo::($bar) = 'foobar';
say $Foo::bar;
Run Code Online (Sandbox Code Playgroud)
$ ./package-interpolate.raku 
No such symbol '$bar'
  in block <unit> at ./package-interpolate.raku line 4
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?谢谢!

namespaces string-interpolation raku

9
推荐指数
1
解决办法
155
查看次数