是否有一个“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”可以接受命名输入参数而不是索引占位符? [复制] 的相关文章

  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • Python 3:将字符串转换为变量[重复]

    这个问题在这里已经有答案了 我正在从 txt 文件读取文本 并且需要使用我读取的数据之一作为类实例的变量 class Sports def init self players 0 location name self players pla
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 如何在加载.NET WinForm应用程序user.config文件时捕获异常?

    有时 在使用默认配置系统的 NET 2 0 WinForm 桌面应用程序中 user config文件将被损坏并且无法再加载 当配置系统尝试加载它时 它会抛出一个System Xml XmlException 抛开 为什么文件首先被损坏 的
  • 当我们想要返回对象的引用时,为什么我们在赋值运算符中返回 *this 而通常(而不是 this)?

    我正在学习 C 和指针 我以为我理解了指针 直到我看到这个 一方面 asterix 运算符是解引用的 这意味着它返回值所指向的地址中的值 而与号 运算符则相反 它返回值存储的地址记忆 现在阅读有关赋值重载的内 容 它说 我们返回 this因
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • 外键与独立关系 - Entity Framework 5 有改进吗?

    我读过了several http www ladislavmrnka com 2011 05 foreign key vs independent associations in ef 4 文章和问题 https stackoverflow
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • 当我使用 OpenSSL1.1.0g 根据固定的 p 和 g 值创建 Diffie Hellman 密钥协议密钥时,应该执行哪些检查?

    您好 我尝试通过这段代码使用修复 p 和 g 参数来制作 Diffie Hellman Keysanswer https stackoverflow com a 54538811 4706711 include

随机推荐

  • 将 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