Tag: tostring

检查会话是否为空

我想检查会话是空还是空,即这样的事情: if(Session[“emp_num”] != null) { if (!string.IsNullOrEmpty(Session[“emp_num”].ToString())) { //The code } } 要不就 if(Session[“emp_num”] != null) { // The code } 因为有时我只检查: if (!string.IsNullOrEmpty(Session[“emp_num”].ToString())) { //The code } 我面临以下例外: 空引用exception

自动.ToString()?

我有一个像这样的方法: void m1(string str)并有一个这样的类: public class MyClass { public bool b1 { set; get; } //and other properties } 现在为什么下面的代码不会导致编译错误? IClass2 _class2 = new Class2(); MyClass c1 = new MyClass(); _class2.m1(“abcdef” + c1); 当我调试它时,我意识到c1.ToString()已传递给m1 。 为什么会出现这种自动.ToString() ? 我唯一可以说的是m1已经在IClass2接口中定义并且已经由Class2实现。

如何创建非重复随机数的数组

我在C#中有一个彩票应用程序,它接受要绘制的数字的数量以及要绘制的最大数量。我已编码为创建一个包含所需随机数的数组,但我需要它们是唯一的并且我很难做到这一点如果有人能给我一些建议,我将非常感激,谢谢 这是我到目前为止的代码: class Lottery { static int[] numberHolder; //array to be filled with numbers up to an //amount entered by the user eg 42 Max static int[] drawHolder; //array to hold the each random number //drawn from the pool of numbers eg 7 numbers public Lottery() //Lottery class Constructor { } //method which takes in […]

动态更改Winforms ComboBox中的项目文本

我有一个Winforms ComboBox ,其中包含自定义类的实例。 当项目首次添加到ComboBox的Items集合时,将对每个项目调用ToString方法。 但是,当用户更改运行应用程序的语言时, ToString方法的结果会更改。 因此,如何让ComboBox再次调用所有项目上的ToString方法,而无需从ComboBox删除所有项目并将其重新添加?

datetime.tostring月和日语言

我有一个具有不同国籍的人的电子邮件地址列表(对于我拥有iso代码的每个人) 当我向所有这些人发送电子邮件时,在邮件文本中我需要将datetime字段转换为在其特定文化中格式化的字符串。 为此,我正在做 CultureInfo ci = new CultureInfo(ISO); myStringDate = myDate.ToString(ci.DateTimeFormat.ShortDatePattern); 并且工作完美,但如果我使用LongDatePattern而不是短,用于显示日期,如“2010年6月13日星期一”,它的工作正常,除了日期和月份的语言。 如果人的文化是它 – 我需要显示“Martedi”和“Giugno”而不是“星期一”和“六月” 如何在不改变当前UI文化的情况下做到这一点?

覆盖List 的ToString()

我有一个类MyClass,我想覆盖List实例的方法ToString(): class MyClass { public string Property1 { get; set; } public int Property2 { get; set; } /* … */ public override string ToString() { return Property1.ToString() + “-” + Property2.ToString(); } } 我想要以下内容: var list = new List { new MyClass { Property1 = “A”, Property2 = 1 }, new MyClass { Property1 […]

如何在序列化特定类型时使JSON.Net序列化程序调用ToString()?

我正在使用Newtonsoft.Json序列化程序将C#类转换为JSON。 对于某些类,我不需要序列化程序将实例添加到单个属性,而只需在对象上调用ToString,即 public class Person { public string FirstName { get; set; } public string LastName { get; set; } public override string ToString() { return string.Format(“{0} {1}”, FirstName, LastName ); } } 我应该怎么做才能将Person对象序列化为ToString()方法的结果? 我可能有很多像这样的类,所以我不想最终得到一个特定于Person类的序列化程序,我希望有一个可以适用于任何classe(通过属性我猜)。

ToString如何在匿名类型上工作?

我正在搞乱匿名类型,我不小心将它输出到控制台上。 它看起来基本上是我如何定义它。 这是一个重现它的简短程序: using System; class Program { public static void Main(string[] args) { int Integer = 2; DateTime DateTime = DateTime.Now; Console.WriteLine(new { Test = 0, Integer, s = DateTime }); Console.ReadKey(true); } } 现在,输出是: { Test = 0, Integer = 2, s = 28/05/2013 15:07:19 } 我尝试使用dotPeek进入程序集找出原因,但没有任何帮助。 [1]这是dotPeek’d代码: // Type: Program // Assembly: […]

Double ToString – 没有科学记数法

我刚刚遇到了一个很棒的“function”,如果有足够的小数位,.NET 默认会使用科学记数法做Double.ToString() 。 .005.ToString() // “.005” .00005.ToString() // “5E-05” 有没有人知道一种有效的方法让它在标准(非科学)符号中显示为字符串? 我已经看到了这个问题 ,但是前两个答案对我来说似乎有些苛刻,因为他们都做了Double.ToString()然后重新格式化结果。 谢谢你的帮助。 编辑: 所需的输出: .00005.ToString() == “.00005” EDIT2: 所有重复和结束投票是什么? 我在问题中特别说,类似的问题没有令人满意的答案。 这个网站上的人太高兴了。 我的解决方案 如果它对任何人都有用: /// /// Converts the double to a standard notation string. /// /// The double to convert. /// The double as a standard notation string. public static String ToStandardNotationString(this double d) { […]

如何将double转换为字符串而无需10次表示(E-05)

如何将double转换为字符串而无需10次表示(E-05) double value = 0.000099999999833333343; string text = value.ToString(); Console.WriteLine(text); // 9,99999998333333E-05 我想字符串文本是0.000099999999833333343(或者差不多,我不做火箭科学:) 我尝试了以下变种 Console.WriteLine(value.ToString()); // 9,99999998333333E-05 Console.WriteLine(value.ToString(“R20”)); // 9,9999999833333343E-05 Console.WriteLine(value.ToString(“N20”)); // 0,00009999999983333330 Console.WriteLine(String.Format(“{0:F20}”, value)); // 0,00009999999983333330 做串扰N20或格式F20似乎最接近我想要的,但我最终会得到很多尾随零,有一种聪明的方法可以避免这种情况吗? 我想尽可能接近双重表示0.000099999999833333343