是否有一个“String.Format”可以接受命名输入参数而不是索引占位符? [复制]

2023-12-14

这就是我所知道的

str = String.Format("Her name is {0} and she's {1} years old", "Lisa", "10");

但我想要类似的东西

str = String("Her name is @name and she's @age years old");
str.addParameter(@name, "Lisa");
str.addParameter(@age, 10);

在 C# 6 中你可以使用字符串插值:

string name = "Lisa";
int age = 20;
string str = $"Her name is {name} and she's {age} years old";

As 道格·克拉特中提到的他的评论,字符串插值也支持格式字符串。可以通过在冒号后指定格式来更改格式。以下示例将输出一个带有逗号和 2 位小数的数字:

var str = $"Your account balance is {balance:N2}"

As Bas中提到的他的回答,字符串插值不支持模板字符串。实际上,它没有对此的内置支持。幸运的是,它存在于一些很棒的图书馆中。


智能格式.NET例如支持命名占位符:

Smart.Format("{Name} from {Address.City}, {Address.State}", user)

// The user object should at least be like that 

public class User
{
    public string Name { get; set; }
    public Address Address { get; set; }
}

public class Address
{
    public string City { get; set; }
    public string State { get; set; }
}

它可用于NuGet并且有优秀的文档.


Mustache也是一个很好的解决方案。Bas已经很好地描述了它的优点他的回答.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有一个“String.Format”可以接受命名输入参数而不是索引占位符? [复制] 的相关文章

随机推荐

  • 将 CommandParameter 从 MenuItem 绑定到父 DataGrid

    如何将命令参数从 MenuItem 绑定到父 Grid DataContext 我有一个带有 ContextMenu 的 DataGrid 将菜单项绑定到 ViewModel 命令 但命令参数始终为 null 我使用 DataGrid 中的
  • R 无法在 ff 过程上分配内存。怎么会?

    我正在使用配备 Intel Xeon 处理器和 24 GB RAM 的 64 位 Windows Server 2008 计算机 我在尝试读取 11 GB gt 2400 万行 20 列 的特定 TSV 制表符分隔 文件时遇到问题 我平常的
  • 如何在 Flutter 应用程序屏幕中显示来自服务器的响应?

    我是颤振新手 我正在尝试在屏幕上显示服务器的响应 我从服务器获取订单历史记录并尝试将其显示在历史记录屏幕上 你该怎么做 void getAllHistory async http post Uri parse https myurlblah
  • 如何使用 Selenium、C# 从 dom 元素获取所有 css 样式

    我的任务是从网页创建最小化的 css 文件 所以我需要来自的价值观所有 css 属性来自所有 dom 元素 但我不知道 如何从特定的 dom 元素获取所有计算的 css 样式 我有以下代码 var chromeOptions new Chr
  • 将 PrimeFaces 添加为 EAR 库时遇到问题

    我想在我的 Java EE 6 Jboss AS 7 1 1Final 应用程序中使用具有以下结构的 PrimeFaces EAR lib primefaces 4 0 jar ejb module jar webbapp1 war web
  • 如何在单击时向元素添加 CSS 类 - React

    如何在单击时将 CSS 类添加到现有 REACT 元素 我创建了一个 JSFiddle https jsfiddle net 5r25psub 在小提琴中 只有当我有以下语句时 代码才有效 this setState color blue
  • PHP从不同时区的服务器获取英国当地时间

    我有一个网络服务器 我不知道时区设置为多少 现在是英国上午 10 49 但是当我运行以下命令时 sTime gmdate d m Y H i s print The time is sTime 服务器返回以下时间 The time is 2
  • 从文本字段中选择粗体和斜体文本

    我怎样才能只选择bold and 斜体字用户在 textField textView 中输入的文本 我们可以制作选定的文本bold 斜体字 下划线以及这三者的任意组合 但反之亦然呢 这不是 Mac OSX 或 iOS 所特有的 任何一种的解
  • 如何阻止其他应用程序使用麦克风?

    我正在开发 android voip 应用程序 我想确定是否有其他应用程序正在使用麦克风 通过这个 我想在使用麦克风时阻止其他应用程序访问麦克风 请任何人有想法 这对我很有帮助 Thanks 最后知道我们可以检查麦克风的可用性 如下所示 p
  • 为什么我的 Bash 代码在使用“sh”运行时会失败?

    我有一行代码在我的终端中运行良好 for i in mp4 do echo ffmpeg i i i mp4 mp3 done 然后我将完全相同的代码行放入脚本中myscript sh bin sh for i in mp4 do echo
  • 如何覆盖 HWIOAuthBundle twig 文件

    我是 Symfony2 3 FosUserBundle 的 HWIOAuthBundle 新手 我在我的项目中使用这个包来登录 facebook twitter googleplus 我已经成功安装了这个并且工作正常 但我想覆盖 login
  • 使用 SQLAlchemy ORM 批量插入

    有什么方法可以让 SQLAlchemy 进行批量插入而不是插入每个单独的对象 IE doing INSERT INTO foo bar VALUES 1 2 3 而不是 INSERT INTO foo bar VALUES 1 INSERT
  • 如何在Google AppEngine上实现“自动增量”

    我必须以 强单调递增 的方式来标记某些东西 发票号码 运输标签号码等 一个号码不得使用两次 当所有较小的数字都已被使用时 没有孔 每个数字都应该被使用 奇特的说法 我需要数 1 2 3 4 我可用的号码空间通常有 100 000 个号码 而
  • VBA 是一种 OOP 语言吗?它支持多态性吗?

    我实际上正在做我的第一个VBA项目 来自C 我想改进现有的VBA项目使用的微软Excel通过实现类和多态性的工作簿 我的问题是 1 我读了很多文章 论坛解释了这一点VBA不是面向对象编程 OOP 语言并且不支持多态性 其中一些人提出了使用关
  • Windows 7 IIS7.5 和 asp 应用程序错误 HTTP 404.0 - 未找到

    我有一个经典 ASP 应用程序 现在我将其安装在装有 Windows7 64 位和 IIS 7 5 的新 PC 上 问题是 当应用程序尝试打开数据库时 出现以下错误 错误 HTTP 404 0 未找到 我尝试从该路径打开数据库并且它工作正常
  • 窗口变量名

    我正在查看一些代码 在脚本的开头我们有var emailID email 稍后 代码通过以下方式引用 emailIDwindow emailID 我想知道允许您通过 window variableName 引用变量的规则是什么 我无法在网上
  • 如何为日期添加天数?

    我的代码是这样的 table class table tbody tr th Date th th Charge th tr foreach cancel policy api as key gt value tr td value Che
  • 没有 JavaScript 的 CSS 菜单

    任何人都可以提供参考 或者是否可以完全依赖于创建一个菜单CSS and not a single bit of javascript 需求是一个下拉菜单 其中可以有很多children submenu 如果像这样创建的话 任何东西都会cro
  • 语音识别连接错误

    我正在尝试基于 VoiceRecognition java 示例来研究和测试语音识别示例 网址为http developer android com resources samples ApiDemos src com example an
  • 是否有一个“String.Format”可以接受命名输入参数而不是索引占位符? [复制]

    这个问题在这里已经有答案了 这就是我所知道的 str String Format Her name is 0 and she s 1 years old Lisa 10 但我想要类似的东西 str String Her name is na