Tag: C#的

C#运算符重载为`+ =`?

我正在尝试为+=做操作符重载,但是我不能。 我只能使运算符超载+ 。 怎么来的? 编辑 这是不工作的原因是我有一个Vector类(与X和Y领域)。 考虑下面的例子。 vector1 += vector2; 如果我的运营商超载设置为: public static Vector operator +(Vector left, Vector right) { return new Vector(right.x + left.x, right.y + left.y); } 然后结果将不会被添加到vector1中,而是vector1也将通过引用成为一个全新的Vector。

过滤提琴手只捕获某个域的请求

我不知道如何修改CustomRules.js文件只显示某个域的请求。 有谁知道如何做到这一点?

当Visual Studio告诉我“用代码4退出xcopy”时出了什么问题

我对构build后的事件不是很熟悉,所以我对我的程序出了什么问题感到有点困惑。 在Visual Studio 2010编译时,我得到以下内容: The command "xcopy C:\Users\Me\Path\Foo.bar\Library\dsoframer.ocx C:\Users\Me\Path\Foo.bar\bin\Debug\ /Y /E /D xcopy C:\Users\Me\Path\Foo.bar\ApplicationFiles C:\Users\Me\Path\Foo.bar\bin\Debug\ /Y /E /D xcopy C:\Users\Me\Path\url\ C:\Users\Me\Path\Foo.bar\bin\Debug\ /Y /E /D rmdir /S /QC:\Users\Me\Path\Foo.bar\bin\Debug\.gwt-tmp" exited with code 4. 该程序似乎运行良好,尽pipe这个错误,但我不想忽略这个问题,并希望没有什么不好的事情发生。 奇怪的是,这一行起初只是一个命令(第一个xcopy),但随着我继续编译项目(修复其他问题,主要是引用),错误信息越来越大。 任何想法可能会发生什么? 编辑:这是postbuild事件似乎失败 – xcopy $(ProjectDir)Library\dsoframer.ocx $(TargetDir) /Y /E /D xcopy $(ProjectDir)ApplicationFiles $(TargetDir) /Y /E /D xcopy $(SolutionDir)com.myUrl.gwt\www $(TargetDir) /Y /E /D rmdir […]

为什么在.h文件中使用#ifndef CLASS_H和#define CLASS_H而不是在.cpp文件中?

我一直看到人们写 class.h #ifndef CLASS_H #define CLASS_H //blah blah blah #endif 问题是,他们为什么不为包含类函数定义的.cpp文件做这件事? 假设我有main.cpp , main.cpp包含class.h 。 class.h文件不会导入任何内容,那么main.cpp如何知道class.cpp什么?

为什么locking对象必须是静态的?

使用私有静态只读对象lockingmultithreading是非常常见的。 我明白,私人通过收紧封装来降低locking对象的入口点,从而获得最重要的。 但是为什么静态? private static readonly object Locker = new object(); 最后,这个字段只在我的类中使用,我也可以用它来代替: private readonly object Locker = new object(); 任何意见? 更新: 作为一个例子,我粘贴了这个代码(只是一个例子)。 我可以使用静态或非静态更衣柜,这两个将工作正常。 考虑到下面的答案,我应该这样定义我的更衣室吗? (对不起,我下周要面试了,需要知道每一个细节:) private readonly object Locker = new object(); 这里是代码: private int _priceA; private int _priceB; private EventWaitHandle[] _waithandle; private readonly IService _service; //ctor public ModuleAViewModel(IService service) { _service = service; _modelA […]

如何从另一个控制器redirect到索引?

我一直在寻找通过尝试find某种方式来redirect到另一个控制器的Index视图。 public ActionResult Index() { ApplicationController viewModel = new ApplicationController(); return RedirectToAction("Index", viewModel); } 这是我现在所尝试的。 现在我得到的代码有一个ActionLink链接到我需要Redirect的页面。 @Html.ActionLink("Bally Applications","../Application")

如何在C#中使用Guids?

此代码: Something = new Guid() 正在返回: 00000000-0000-0000-0000-000000000000 所有的时间,我不知道为什么? 所以为什么?

嵌套在Parallel.ForEach中等待

在metro应用程序中,我需要执行一些WCF调用。 有大量的电话要做,所以我需要做一个并行循环。 问题是并行循环在WCF调用全部完成之前退出。 你将如何重构这个按预期工作? var ids = new List<string>() { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" }; var customers = new System.Collections.Concurrent.BlockingCollection<Customer>(); Parallel.ForEach(ids, async i => { ICustomerRepo repo = new CustomerRepo(); var cust = await repo.GetCustomer(i); customers.Add(cust); }); foreach ( var customer in customers ) { Console.WriteLine(customer.ID); } Console.ReadKey();

为什么printf(“%f”,0); 给未定义的行为?

语句printf("%f\n",0.0f); 打印0。 但是,语句printf("%f\n",0); 打印随机值。 我意识到我正在展示某种不确定的行为,但是我无法弄清楚为什么特别。 所有位都是0的float值仍然是一个有效值为0的float 。 float和int在我的机器上是相同的大小(如果甚至是相关的)。 为什么在printf中使用整数文字而不是浮点文字会导致这种行为?

用分组在一个列表上创build一个字典

我在列表中有以下对象: public class DemoClass { public int GroupKey { get; set; } public string DemoString { get; set; } public object SomeOtherProperty { get; set; } } 现在,我想创build下面的字典: Dictionary<int, List<DemoClass>> 我想通过属性GroupKey对List<DemoClass> GroupKey List<DemoClass>进行GroupKey ,但是我不明白这是如何做的,有些帮助。 经过一番思考,我达到了所需的行为: var groupedDemoClasses = from demoClass in mySepcialVariableWhichIsAListOfDemoClass group demoClass by demoClass.GroupKey into groupedDemoClass select groupedDemoClass; var neededDictionary = groupedDemoClass.ToDictionary(gdc => […]