Tag: C#的

char + char = int? 为什么?

为什么将C#结果中的两个char添加到inttypes? 例如,当我这样做: var pr = 'R' + 'G' + 'B' + 'Y' + 'P'; prvariables变成一个inttypes。 我期望它是一个值为"RGBYP"的stringtypes。 为什么C#是这样devise的? 是不是添加两个char的默认实现应该是一个string连接char ,而不是int ?

c ++ STL设置差异

C ++ STL集合数据结构是否具有集合差异运算符?

文件按文件名模式存在

我在用: File.Exists(filepath) 我想要做的是把这个模式转换出来,因为文件名的第一部分会改变。 例如:文件可能是 01_peach.xml 02_peach.xml 03_peach.xml 我怎样才能检查文件是否存在基于某种search模式?

如何为ASP.NET MVC 2创build自定义成员资格提供程序?

如何基于ASP.NET成员资格提供程序为ASP.NET MVC 2创build自定义成员资格?

无法加载文件或程序集“Microsoft.Web.Infrastructure,

我试图上传我的网站到服务器。 这与我的本地主机工作正常,所以我上传我的本地主机wwwroot文件夹中的一切到服务器,并更改连接string。 但是有这个错误: Exception information: Exception type: InvalidOperationException Exception message: The pre-application start initialization method Start on type RouteDebug.PreApplicationStart threw an exception with the following error message: Could not load file or assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.. at System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods) at System.Web.Compilation.BuildManager.CallPreStartInitMethods() at […]

试图了解lambda

试图理解C ++中的lambdas,我不明白的是: int multiplier = 5; auto timesFive = [multiplier](int a) { return a * multiplier; }; std::cout << timesFive(2) << '\n'; // Prints 10 multiplier = 15; std::cout << timesFive(2) << '\n'; // Still prints 2*5 == 10 (???) – Should it be 30? 当程序第二次调用timesFive()时,我期望结果是30.但为什么结果Still prints 2*5 == 10 ,而不prints 2*15 == 30 ? […]

在主函数中重命名argc和argv是否安全?

很多程序对一些参数和string数组使用标准名称。 main函数的原型如下所示: int main(int argc, char *argv[]); 。 但是如果我为这些variablesselect自定义名称,我会打破一些东西吗? 例如int main(int n_of_args, char *args[]); 在编译器的上下文中,一切都很好。 这些variables对于主函数是本地的,所以它们可以有任何名字。 而简单的代码build立和运行完美。 但是这些名字可能被预处理器使用。 那么重命名这些参数是否安全? PS我个人觉得这些名字不好,因为他们看起来很相似,只有一个字母不同。 但是每个人都会因为某种原因而使用它们。

LINQ:确定两个序列是否包含完全相同的元素

我需要确定两组是否包含完全相同的元素。 sorting并不重要。 例如,这两个数组应该被认为是相等的: IEnumerable<int> data = new []{ 3,5,6,9 }; IEnumerable<int> otherData = new []{ 6,5,9,3} 一组不能包含任何元素,不在其他。 这可以使用内置的查询操作符来完成吗? 考虑到元素的数量可以从几个到几百个,那么实现它的最有效的方法是什么呢?

如何让我的代码更易于下一位开发人员理解?

我已经进行了大约8个月的第一次编程工作,到目前为止我已经学到了不可思议的数字。 不幸的是,我是内部应用程序的小创业公司的唯一开发者。 有史以来第一次,当我离开这个工作时,我会把我的一些项目交给别人。 我已经完整地logging了我的所有项目(至less我是这么认为的),但是对于别人阅读我的代码,我仍然感到紧张。 例如,我一直都是这样做的。 for (int i = 0; i < blah.length; i++) { //Do stuff } 我应该说“我”是描述性的吗? 这只是一个临时variables,并且只会存在于这个循环中,似乎很明显,循环对'i'做了什么。 这只是一个例子。 另一个是我的variables名称不同…除了开始所有私人成员的下划线之外,我没有真正遵守一个命名标准。 有没有什么资源可以告诉我如何让下一个开发者更容易? 这种types的东西有标准吗?

比较C#中的string和对象

看到这个代码: object x = "mehdi emrani"; string y = "mehdi emrani"; Console.WriteLine(y == x); 返回true 。 但是这个代码: object x = "mehdi emrani"; string y = "mehdi "; y += "emrani"; Console.WriteLine(y == x); 返回false 。 所以当我比较第一个代码中的string和对象时,我变为true 。 但是当我在第二个代码中比较它们时,我得到了false 。 这两个string是相同的,但为什么当我追加到string,我的结果返回false ?