我想知道是否有格式化string.Format中的NULL值的语法,如Excel使用什么 例如,使用Excel,我可以指定格式值为{0:#,000.00;-#,000.00,NULL} ,这意味着如果数字格式为正数,则显示为数字格式;如果为负数,则在括号中显示数字格式;值为空 string.Format("${0:#,000.00;(#,000.00);NULL}", someNumericValue); 编辑 我正在寻找所有数据types的格式化NULL / Nothing值,而不仅仅是数字的。 我的例子实际上是不正确的,因为我错误地认为如果值为NULL,Excel使用第三个参数,但实际上当值为0时使用。我将它留在那里,因为这是我能想到的最接近的东西希望能做到。 我希望避免空合并运算符,因为我正在写日志logging,并且数据通常不是一个string 写这样的东西会容易得多 Log(string.Format("Value1 changes from {0:NULL} to {1:NULL}", new object[] { oldObject.SomeValue, newObject.SomeValue })); 比写 var old = (oldObject.SomeValue == null ? "null" : oldObject.SomeValue.ToString()); var new = (newObject.SomeValue == null ? "null" : newObject.SomeValue.ToString()); Log(string.Format("Value1 changes from {0} to {1}", new object[] { old, […]
在下面的代码中,为什么两个string.Format调用的行为不一样? 在第一个中,没有抛出exception,但是在第二个抛出了ArgumentNullException 。 static void Main(string[] args) { Exception e = null; string msgOne = string.Format("An exception occurred: {0}", e); string msgTwo = string.Format("Another exception occurred: {0}", null); } 有人能帮我理解两者的区别吗?
例如,C ++中的%11.2f变成Java中的%11.2f 。 长格式怎么样?
我想要的是这样的: String.Format("Value: {0:%%}.", 0.8526) 其中%%是格式提供者或任何我正在寻找。 应该结果: Value: %85.26. 。 我基本上需要它的wpf绑定,但首先让我们来解决一般的格式问题: <TextBlock Text="{Binding Percent, StringFormat=%%}" />
在Java中使用String.Format和string连接之间有明显的区别吗? 我倾向于使用String.format但偶尔会滑和使用concat。 我在想,如果一个人比另一个人好。 我看到它的方式, String.Format在“格式化”string给你更多的权力; 而连接意味着你不必担心无意中将额外的%s或丢失了一个。 String.format也更短。 哪一个更可读取决于你的头像是如何工作的。
假设我在C#中有一个stringbuilder,它是这样做的: StringBuilder sb = new StringBuilder(); string cat = "cat"; sb.Append("the ").Append(cat).(" in the hat"); string s = sb.ToString(); 那么效率会更高,或者更高效: string cat = "cat"; string s = String.Format("The {0} in the hat", cat); 如果是这样,为什么? 编辑 经过一些有趣的回答,我意识到我应该在我所问的问题上更清楚些。 我并不是要求串联一个string的速度更快,而是将一个string注入另一个string更快。 在上面的两种情况下,我想注入一个或多个string到预定义的模板string的中间。 对困惑感到抱歉
我正在尝试将一些JavaScript代码从MicrosoftAjax移到JQuery。 我使用stream行的.net方法的MicrosoftAjax中的JavaScript等价物,例如String.format(),String.startsWith()等。在jQuery中它们是否等价呢?
我正在寻找一个相当于C / PHP的printf()或C#/ Java程序员的String.Format() ( IFormatProvider for .NET)的JavaScript。 我现在的基本要求是数字分隔格式,但是处理大量组合(包括date)的东西是很好的。 我意识到微软的Ajax库提供了一个String.Format()的版本,但是我们并不希望整个这个框架的开销。
假设您要输出或连接字符串。 您更喜欢以下哪种款式? var p = new { FirstName = "Bill", LastName = "Gates" }; Console.WriteLine("{0} {1}", p.FirstName, p.LastName); Console.WriteLine(p.FirstName + " " + p.LastName); 你宁愿使用格式还是只是简单地串接字符串? 什么是你最喜欢的? 这其中的一个伤害你的眼睛? 你有任何理性的论点来使用一个而不是另一个? 我会去第二个