ber*_*436 3 .net vb.net string
我在VB.net中有一个类似于{}的括号.
我一直在MSDN文档和VB.net教程中看到这样的语法.
Dim pattern As String = "(\d{3})-(\d{3}-\d{4})"
Dim input As String = "212-555-6666 906-932-1111 415-222-3333 425-888-9999"
Dim matches As MatchCollection = Regex.Matches(input, pattern)
For Each match As Match In matches
Console.Write("Area Code: {0}", match.Groups(1).Value)
Next
Run Code Online (Sandbox Code Playgroud)
区号:212区号:906区号:415区号:425
它似乎模糊地"this is a string {0}" , variable 印刷了"这是一个字符串"和valueOfVariable.ToString
但是我对这个实际工作原理的细节有几点疑问:
它被称为字符串格式,
http://msdn.microsoft.com/en-us/library/system.string.format.aspx
它将接受任何参数,并将根据指定的格式转换为其文本表示,有许多方法可以控制如何格式化给定对象(它可以是字符串,数字,日期任何东西).
.Net中的所有内容都是从对象派生而来的,对象有一个名为ToString的方法,它将返回其字符串表示形式.因此,如果将数字或任何其他内容传递给Format,则此方法将调用ToString并将其字符串表示与其他设置一起使用.
大多数情况下,此方法将被其他一些高级方法使用,例如在Console.WriteLine等中,但最终它们都是相同的.
复合格式
http://msdn.microsoft.com/en-us/library/txafckwd.aspx
标准数字格式
http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx
自定义数字格式
http://msdn.microsoft.com/en-us/library/0c899ak8.aspx
您必须阅读MSDN中的所有相关链接以获取更多信息.
这两者实际上没有连接,它取决于你说的背景.
在pattern变量中,正则表达式语法\d{3}恰好意味着数字(0-9)的3次出现.
在Console.Write,此重载在内部将字符串传递给string.Format,其中卷曲括号的条目被解释为格式化的占位符.只有当string.Format(明确地或隐含地)传递它们具有这种特定含义时.