Tag: C#的

System.Diagnostics.Debug.Write输出在哪里出现?

以下C#程序(使用csc hello.cs构build) Hello via Console!打印出Hello via Console! 在控制台上,并Hello via OutputDebugString DebugView窗口中的Hello via OutputDebugString 。 但是,我看不到任何一个System.Diagnostics.*调用。 这是为什么? using System; using System.Runtime.InteropServices; class Hello { [DllImport("kernel32.dll", CharSet=CharSet.Auto)] public static extern void OutputDebugString(string message); static void Main() { Console.Write( "Hello via Console!" ); System.Diagnostics.Debug.Write( "Hello via Debug!" ); System.Diagnostics.Trace.Write( "Hello via Trace!" ); OutputDebugString( "Hello via OutputDebugString" ); […]

C#短/长/整型文字格式?

在C / C#/等你可以告诉编译器,一个文字数字是不是看起来是(即, float而不是double , unsigned long而不是int : var d = 1.0; // double var f = 1.0f; // float var u = 1UL; // unsigned long 等等 有人可以指出我的名单吗? 我正在寻找一个short的后缀或Int16 。

Enum应该从0还是1开始?

想象一下,我已经定义了以下枚举: public enum Status : byte { Inactive = 1, Active = 2, } 什么是使用枚举的最佳做法? 应该像上面的例子一样从1开始,或者从0开始(没有显式值),像这样: public enum Status : byte { Inactive, Active }

Antlr的优势(与lex / yacc / bison相比)

过去我使用lex和yacc(更常见的是bison)来处理各种项目,通常是翻译(例如EDIF的一个子集stream入EDA应用程序)。 另外,我必须支持基于lex / yacc语法的代码。 所以我知道我的工具,虽然我不是专家。 我在过去的各种论坛上看到过关于Antlr的积极评论,我很好奇我可能会错过什么。 所以,如果你使用了两者,请告诉我什么Antlr更好或更先进。 我目前的限制是我在C ++商店工作,任何我们发布的产品都不会包含Java,所以得到的parsing器将不得不遵循这个规则。

用于64位窗口的64位版本的Boost

VS2008有64位Boost库的版本吗? 还是我自己编译一个呢? 那么,如果有谁有经验呢?

使用加号时会创build多less个String对象?

在下面的代码中使用加号时会创build多less个String对象? String result = "1" + "2" + "3" + "4"; 如果是这样,我会说三个string对象:“1”,“2”,“12”。 String result = "1" + "2"; 我也知道String对象被caching在String Intern Pool / Table中以提高性能,但这不是问题。

什么时候应该使用HashSet <T>types?

我正在探索HashSet<T>types,但我不明白它在集合中的位置。 可以用它来代替List<T>吗? 我想HashSet<T>的性能会更好,但是我看不到其元素的单独访问。 仅仅是枚举吗?

有效的C ++仍然有效?

从我在这篇文章中看到的,我决定开始阅读有效的C ++的书。 但是现在由于C ++ 11有许多新function,并且有一些好的做法改变了,所以我不确定这是否是一个好主意。 C ++ 11的出现是否反对Effective C ++中包含的任何build议? 如果是的话,我应该避免哪些话题?

如何在类中创build模板函数? (C ++)

我知道可以做一个模板函数: template<typename T> void DoSomeThing(T x){} 可以创build一个模板类: template<typename T> class Object { public: int x; }; 但是有可能使一个类不在一个模板中,然后在该类中创build一个函数模板? 即: //I have no idea if this is right, this is just how I think it would look class Object { public: template<class T> void DoX(){} }; 或者某种程度上,类不是一个模板的一部分,但function是?

为什么main在这里不返回0?

我正在读书 ISO / IEC 9899:201x委员会草案 – 2011年4月12日 我在5.1.2.2.3中find程序终止 ..reaching the } that terminates the main function returns a value of 0. 这意味着如果你没有在main()指定任何返回语句,并且程序运行成功,那么main的右括号将返回0。 但是在下面的代码中,我没有指定任何返回语句,但它不返回0 #include<stdio.h> int sum(int a,int b) { return (a + b); } int main() { int a=10; int b=5; int ans; ans=sum(a,b); printf("sum is %d",ans); } 编 gcc test.c ./a.out sum is 15 […]