草庐IT

vector_tostr

全部标签

c# - Enum ToString 显示为数字

我有一个枚举privateenumTimeUnit{Day,Month,Year}我正在用以下内容填充描述:returnstring.Concat(unit,"(s)");其中单位是TimeUnit。大多数情况下,这工作正常并显示“天数”,但在特定服务器上它显示为“1(s)”什么会导致这种情况? 最佳答案 尝试使用Enum.GetName()它还有一个优点是safer因为它需要:您传入的值不为空。您传入的值属于枚举实际可以用作其基础类型的类型,或者属于枚举本身的类型。它对值使用GetType来检查这一点。

c# - 指定默认的空 DataTemplate 而不是默认的 'ToString()' DataTemplate

wpf应用程序中的默认DataTemplate显示.ToString()方法的结果。我正在开发一个默认DataTemplate不显示任何内容的应用程序。我试过:但这行不通。有谁知道如果不为应用程序中的每个类类型指定特定的DataTemplate是否可行? 最佳答案 如果您正在使用MVVM模式并且有一个抽象类,您的所有ViewModel类都派生自该抽象类,您可以使用该类而不是System.Object: 关于c#-指定默认的空DataTemplate而不是默认的'ToString()'Da

c# - 与 BitConverter.ToString 相反的方法?

BitConverter.ToString给出格式为'XX-XX-XX-XX'的十六进制数是否有相反的方法,以便我可以从以这种格式给出的字符串中获取原始字节数组? 最佳答案 没有,但是很容易实现:strings="66-6F-6F-62-61-72";byte[]bytes=s.Split('-').Select(x=>byte.Parse(x,NumberStyles.HexNumber)).ToArray(); 关于c#-与BitConverter.ToString相反的方法?,我们

c# - 有没有办法自动覆盖类上的 ToString() ?

我发现在我编写的许多简单DTO/POCO类上覆盖ToString()非常有用,以便在将鼠标悬停在调试器中的实例上时显示一些有用的信息。举个例子:publicclassIdValue{publicIdValue(intid,Tvalue){Id=id;Value=value;}publicintId{get;privateset;}publicTValue{get;privateset;}publicoverridestringToString(){returnstring.Format("Id:{0}Value:{1}",Id,Value);}}.NET中是否有一种方法可以自动拥有列出

c# - 如何在静态类中覆盖 ToString?

我有一个公共(public)静态类,我希望在其中有一个ToString()方法。我已将其定义为publicstaticstringToString(),但收到以下警告:'Class.ToString()'hidesinheritedmember'object.ToString()'.Tomakethecurrentmemberoverridethatimplementation,addtheoverridekeyword.Otherwiseaddthenewkeyword.如果我添加override关键字,则会收到此错误:Astaticmember'Class.ToString()'c

c# - 调用 ToString() 以防止装箱

使用以下代码片段:publicstaticvoidMain(){intv=2;Console.WriteLine("number"+","+v);}显然,在对WriteLine()的调用中,最好将v替换为v.ToString()以防止值类型被盒装。然而,调用ToString()仍然会在堆上分配一个对象,就像装箱值类型一样。那么使用v.ToString()而不是让它装箱有什么好处呢?更新:看起来像int.ToString()在将值传递给string.Concat()之前被调用,有或没有显式调用int.ToString()你自己。我检查了CIL使用和不使用ToString(),它们是相同的

c# - 使用反射动态覆盖 ToString()

我通常重写ToString()方法以输出属性名称和与它们关联的值。我有点厌倦了手写这些,所以我正在寻找一个动态的解决方案。主要内容:TestingClasstc=newTestingClass(){Prop1="blah1",Prop2="blah2"};Console.WriteLine(tc.ToString());Console.ReadLine();测试类:publicclassTestingClass{publicstringProp1{get;set;}//propertiespublicstringProp2{get;set;}publicvoidMethod1(stri

c# - Unity3d c# - Vector3 作为默认参数

我们如何添加Vector3作为方法的默认参数?例如:VoidSpawnCube(Vector3p=newVector3(0,0,0)){...}我刚刚尝试了关于我遇到错误的行:Expressionbeingassignedtooptionalparameter`p'mustbeaconstantordefaultvalue我想自定义一个函数来生成一些游戏对象,如果我没有提供transform.position,它将转到(0,0,0)。 最佳答案 我知道这已经得到回答,但我只想添加其他方法来做到这一点。Vector3?p和Vector

c# - Int32既然是值类型,为什么要继承.ToString()呢?

Thesearethedocs关于提示此问题的.ToString()。他们说:BecauseObjectisthebaseclassofallreferencetypesinthe.NETFramework,thisbehavior[.ToString()]isinheritedbyreferencetypesthatdonotoverridetheToStringmethod.进一步说明:Forexample,thebasetypessuchasChar,Int32,andStringprovideToStringimplementations但是Int32是一个结构,因此必须是一个

c# - 对 Object.ToString() 的冗余调用

我有一个函数,除其他外,它接受一个声明为intprivateCount的参数。当我想在此参数上调用ToString()时,ReSharper会将其灰显并将其标记为冗余调用。因此,尽管我很好奇,但我删除了ToString(),代码仍然可以构建!C#编译器如何允许这样做,其中str是一个字符串?str+=privateCount+... 最佳答案 string的+运算符被重载以调用String.Concat传入表达式的左侧和右侧。因此:stringx="123"+45;编译为:String.Concat("123",45);由于Stri