gpt4 book ai didi

c# - 内插字符串中用冒号调用的这个 C#/.net5 表示法是什么?

转载 作者:行者123 更新时间:2023-12-05 09:03:36 26 4
gpt4 key购买 nike

我在 Microsoft 文档中看到了一些内插字符串 currentDate:d 中的符号,但他们没有详细说明它是如何工作的或它被称为什么,所以我不知道怎么看它更进一步。它似乎解构了一个 DateTime 并具体获取了日期和时间,并且似乎只在插入的字符串中起作用;我不能使用相同的技巧将时间拉到变量中。我想知道我是否可以将该符号用于其他对象以及它是如何工作的。

var currentDate = DateTime.Now;
var time = currentDate:t; // this throws error
Console.WriteLine($"{Environment.NewLine}It is currently {currentDate:d} at {currentDate:t}!");

输出:

It is currently 2021-10-31 at 10:41 AM!

MS 文档来源:https://learn.microsoft.com/en-us/dotnet/core/tutorials/with-visual-studio-code?pivots=dotnet-5-0

我想不出更好的方式来问这个问题,希望得到提示。

最佳答案

在您链接的文档中解释的。它说:

The dollar sign ($) in front of a string lets you put expressions such as variable names in curly braces in the string. The expression value is inserted into the string in place of the expression. This syntax is referred to as interpolated strings.

那里的链接会将您带到页面“$ - 字符串插值 - C# 引用”,其中有一个 section named "Structure of an interpolated string"是这样说的:

The structure of an item with an interpolation expression is as follows:

{<interpolationExpression>[,<alignment>][:<formatString>]}

[...]

formatString: A format string that is supported by the type of the expression result. For more information, see Format String Component.

“格式化字符串组件”链接将为您提供所需的所有信息:

The optional formatString component is a format string that is appropriate for the type of object being formatted. Specify a standard or custom numeric format string if the corresponding object is a numeric value, a standard or custom date and time format string if the corresponding object is a DateTime object, or an enumeration format string if the corresponding object is an enumeration value.

[...]

Date and time types: Standard Date and Time Format Strings / Custom Date and Time Format Strings

链接页面“标准日期和时间格式字符串”解释了 d如下:

Format Specifier Description Examples
d Short date pattern. - More information: The short date ("d") format specifier 2009-06-15T13:45:30 -> 6/15/2009 (en-US) [...]

这已经进行了简短的解释,但表中提供的链接指向更详细的解释。

这还显示了一个示例,说明如何使用 the ToString method 在内插字符串之外使用此类格式字符串。 :

DateTime date1 = new DateTime(2008, 4, 10);
Console.WriteLine(date1.ToString("d",
DateTimeFormatInfo.InvariantInfo)); // Displays 04/10/2008
Console.WriteLine(date1.ToString("d",
CultureInfo.CreateSpecificCulture("en-US"))); // Displays 4/10/2008
Console.WriteLine(date1.ToString("d",
CultureInfo.CreateSpecificCulture("en-NZ"))); // Displays 10/04/2008
Console.WriteLine(date1.ToString("d",
CultureInfo.CreateSpecificCulture("de-DE"))); // Displays 10.04.2008

关于c# - 内插字符串中用冒号调用的这个 C#/.net5 表示法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69788970/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com