Tag: C#的

C#或Java:用StringBuilder预定string?

我知道我们可以使用StringBuilder附加string。 有没有一种方法,我们可以预先使用StringBuilderstring(即在string前添加string),所以我们可以保持StringBuilder提供的性能优势?

在C ++中,Python等价于短格式“if”

可能重复: Python三元运算符 有没有办法在Python中编写这个C / C ++代码? a = (b == true ? "123" : "456" ) 非常感谢!

有没有返回当前类/方法名称的函数?

在C#中,是否有一个返回当前类/方法名称的函数?

从HttpContext获取当前的System.Web.UI.Page?

这实际上是一个两部分问题。 首先,HttpContext.Current是否对应于当前的System.UI.Page对象? 第二个问题可能与第一个问题有关,那就是为什么我不能使用以下来查看当前页面是否实现了一个接口: private IWebBase FindWebBase() { if (HttpContext.Current as IWebBase != null) { return (IWebBase)HttpContext.Current.; } throw new NotImplementedException("Crawling for IWebBase not implemented yet"); } 一般情况下,一些控件需要知道它们是作为SharePoint webpart执行还是作为Asp.Net框架的一部分执行。 我已经通过要求控件传递一个引用给自己,并检查控件的Page属性来解决这个问题,但是我仍然很好奇为什么上面的代码不起作用。 编译器错误是:无法将System.Web.HttpContext转换为… IWebBase通过引用转换,装箱转换,拆箱转换,包装转换或空types转换。

十进制types的声明后缀

如果我想在代码中使用十进制文字,我已经看到存在m后缀(其中m代表金钱)。 这是适用于任何小数或存在一个更普遍的assigment(d代表双,这是为了舒适不正确的事情,虽然支持直接转换)。 object decimalValue=2m; 请注意,我以对象分配为例,因为在…的情况下… decimal decimalValue=2; …它隐含的清楚,2应该被编译器解释为十进制。 编辑: 米似乎是好的, msdn使用它作为十进制types的例子。

.inl文件在C ++中的意义

在.inl文件中声明有什么优点? 我什么时候需要使用相同的?

如何从C#中的string获得枚举值?

我有一个枚举: public enum baseKey : uint { HKEY_CLASSES_ROOT = 0x80000000, HKEY_CURRENT_USER = 0x80000001, HKEY_LOCAL_MACHINE = 0x80000002, HKEY_USERS = 0x80000003, HKEY_CURRENT_CONFIG = 0x80000005 } 给定stringHKEY_LOCAL_MACHINE ,我怎么能得到一个值为0x80000002基于枚举?

如何在C ++中初始化私有静态常量映射?

我只需要字典或关联数组string => int 。 这种情况下有types映射C ++。 但是我只需要一个map实例( – > static),这个map不能改变( – > const); 我用boost库find了这个方法 std::map<int, char> example = boost::assign::map_list_of(1, 'a') (2, 'b') (3, 'c'); 有没有这个lib的其他解决scheme? 我已经尝试了这样的事情,但总是有一些地图初始化的问题。 class myClass{ private: static map<int,int> create_map() { map<int,int> m; m[1] = 2; m[3] = 4; m[5] = 6; return m; } static map<int,int> myMap = create_map(); };

最喜欢的方式来创build一个新的IEnumerable <T>序列从一个单一的值?

我通常使用数组语法从单个值创build一个序列,如下所示: IEnumerable<string> sequence = new string[] { "abc" }; 或者使用一个新的列表。 我想听听有没有人有更富有performance力的方式去做同样的事情。

如何在编译时显示#define的值?

我想弄清楚我的代码认为它使用的是什么版本的Boost。 我想要做这样的事情: #error BOOST_VERSION 但预处理器不会展开BOOST_VERSION。 我知道我可以从程序运行时打印出来,我知道我可以查看预处理器的输出以find答案。 我觉得在编译过程中有一个这样做的方法可能是有用的。