Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

6
当Resharp说“无法修改文档”时,我需要一个解决方法。有人知道为什么这样做以及如何解决吗?
在过去的几个月中,我注意到几次,有时我会使用黄色的小灯泡图标,然后右键单击它并选择一个选项来为我修复某些东西,然后仅突出显示要修复的内容并弹出一个消息“无法修改文档”。 有人遇到这个问题吗? 你知道如何克服吗? 即使我可以手动编辑该文档,也几乎像resharper认为该文档是只读文档或其他内容。

6
如何检查Windows服务是否已在C#中安装
我编写了Windows服务,将WCF服务公开给安装在同一台计算机上的GUI。在运行GUI时,如果无法连接到服务,则需要知道是由于尚未安装服务应用程序还是因为服务未运行。如果是前者,我将要安装它(如描述这里); 如果是后者,我将要启动它。 问题是:如何检测是否已安装该服务,然后检测到已安装该服务,如何启动它?

4
嵌套“ for”循环的数量是否有限制?
由于所有内容都有限制,所以我想知道嵌套for循环的数量是否有限制,或者只要我有内存,就可以添加它们,Visual Studio编译器可以创建这样的程序吗? 当然,64个或更多的嵌套for循环不便于调试,但是可行吗? private void TestForLoop() { for (int a = 0; a < 4; a++) { for (int b = 0; b < 56; b++) { for (int c = 0; c < 196; c++) { //etc.... } } } }

5
如何从字符串表示形式获取通用类型?
我有MyClass<T>。 然后我有这个string s = "MyClass<AnotherClass>";。如何从字符串获取Type s? 一种方法(难看)是解析出“ <”和“>”并执行以下操作: Type acType = Type.GetType("AnotherClass"); Type whatIwant = typeof (MyClass<>).MakeGenericType(acType); 但是,有没有一种更干净的方法来获取最终类型而不进行任何解析等?
79 c#  reflection  types 

7
foreach标识符和闭包
在接下来的两个摘要中,第一个是安全的还是第二个必须做? 安全地说,每个线程是否保证从创建线程的同一循环迭代中调用Foo上的方法? 还是必须将引用复制到新变量“ local”到循环的每次迭代中? var threads = new List<Thread>(); foreach (Foo f in ListOfFoo) { Thread thread = new Thread(() => f.DoSomething()); threads.Add(thread); thread.Start(); } -- var threads = new List<Thread>(); foreach (Foo f in ListOfFoo) { Foo f2 = f; Thread thread = new Thread(() => f2.DoSomething()); threads.Add(thread); thread.Start(); …

6
如何访问自动实现的属性的后备变量?
在过去,我们声明的属性如下: public class MyClass { private int _age; public int Age { get{ return _age; } set{ _age = value; } } } 现在我们可以做: public class MyClass { public int Age {get; set;} } 我的问题是,如何访问使用该符号自动创建的私有变量? 我宁愿访问私有变量,而不访问公共访问器“年龄”。是否存在访问私有变量的默认符号,或者只是不可能?
79 c#  properties 

10
.NET中是否有可序列化的通用键/值对类?
我正在寻找可以包含在Web服务中的键/值对对象。 我尝试使用.NET的System.Collections.Generic.KeyValuePair<>类,但无法在Web服务中正确序列化。在Web服务中,“键”和“值”属性未序列化,因此除非有人知道解决此问题的方法,否则该类无用。 还有其他通用类可以用于这种情况吗? 我会使用.NET的System.Web.UI.Pair类,但是它使用Object作为其类型。如果仅出于类型安全性考虑,使用Generic类会很好。
79 c#  .net 

2
WCF反序列化如何在不调用构造函数的情况下实例化对象?
WCF反序列化有一些不可思议的事情。如何在不调用其构造函数的情况下实例化数据协定类型的实例? 例如,考虑以下数据合同: [DataContract] public sealed class CreateMe { [DataMember] private readonly string _name; [DataMember] private readonly int _age; private readonly bool _wasConstructorCalled; public CreateMe() { _wasConstructorCalled = true; } // ... other members here } 通过获取此对象的实例时,DataContractSerializer您会看到字段_wasConstructorCalled为false。 那么,WCF如何做到这一点?这是其他人也可以使用的技术,还是对我们隐藏?

2
双?=双倍?+双倍?
我想对StackOverflow社区进行ping操作,以查看是否因这简单的C#代码而迷失了方向。 我正在Windows 7上进行开发,并在.NET 4.0,x64 Debug中进行构建。 我有以下代码: static void Main() { double? y = 1D; double? z = 2D; double? x; x = y + z; } 如果我调试并在结尾的花括号上放置一个断点,则期望在“监视窗口”和“立即窗口”中x = 3。x = null。 如果我在x86中调试,一切似乎都可以正常工作。x64编译器有问题还是我有问题?
79 c#  .net 

3
检索字典价值最佳实践
我最近才注意到,Dictionary.TryGetValue(TKey key, out TValue value)并且很好奇哪种方法是从“字典”中检索值的更好方法。 传统上我做过: if (myDict.Contains(someKey)) someVal = myDict[someKey]; ... 除非我知道它有必要在里面。 这样做是否更好: if (myDict.TryGetValue(somekey, out someVal) ... 哪个更好的做法?一个比另一个快吗?我想像一下,Try版本会变慢,因为它会“吞并”内部的try / catch并将其用作逻辑,不是吗?
79 c#  .net  dictionary 

2
NUnit.Framework.Assert.IsInstanceOfType()已过时
我目前正在阅读《专业企业.NET》一书,并且在某些示例程序中注意到了此警告: 'NUnit.Framework.Assert.IsInstanceOfType(System.Type, object)' is obsolete 现在,我可能已经回答了自己的问题,但是要解决此警告,是否只是将Assert.IsInstanceOfType()替换为Assert.IsInstanceOf()的情况?例如: Assert.IsInstanceOfType(typeof(ClassName), variableName); 会成为: Assert.IsInstanceOf(typeof(ClassName), variableName);
78 c#  nunit 

3
将依赖项注入ASP.NET MVC 3操作筛选器。这种方法有什么问题?
这是设置。假设我有一些需要服务实例的动作过滤器: public interface IMyService { void DoSomething(); } public class MyService : IMyService { public void DoSomething(){} } 然后,我有一个需要该服务实例的ActionFilter: public class MyActionFilter : ActionFilterAttribute { private IMyService _myService; // <--- How do we get this injected public override void OnActionExecuting(ActionExecutingContext filterContext) { _myService.DoSomething(); base.OnActionExecuting(filterContext); } } 在MVC 1/2中,将依赖项注入到动作过滤器中有点麻烦。最常见的方法是使用自定义操作调用因为在这里可以看到:http://www.jeremyskinner.co.uk/2008/11/08/dependency-injection-with-aspnet-mvc-action-filters/的此替代方法的主要动机是因为以下方法被认为与容器不牢固且紧密耦合: public class …

7
程序员说“针对接口而不是对象的代码”是什么意思?
我已经开始了漫长而艰巨的学习和追求 应用TDD到我的工作流程。我觉得TDD非常符合IoC原则。 在SO中浏览了一些TDD标签的问题之后,我读到对接口(而不是对象)进行编程是一个好主意。 您能否提供简单的代码示例,以及如何在实际用例中应用它?简单的示例对我(以及其他想学习的人)来说是理解概念的关键。

9
调用跨线程事件的最干净方法
我发现.NET事件模型是如此,我经常会在一个线程上引发一个事件,然后在另一个线程上监听它。我想知道从背景线程到我的UI线程封送事件的最干净方法是什么。 根据社区的建议,我使用了以下方法: // earlier in the code mCoolObject.CoolEvent+= new CoolObjectEventHandler(mCoolObject_CoolEvent); // then private void mCoolObject_CoolEvent(object sender, CoolObjectEventArgs args) { if (InvokeRequired) { CoolObjectEventHandler cb = new CoolObjectEventHandler( mCoolObject_CoolEvent); Invoke(cb, new object[] { sender, args }); return; } // do the dirty work of my method here }

8
如何使用Console.WriteLine对齐列中的文本?
我有一种列显示,但末两列似乎未正确对齐。这是我目前的代码: Console.WriteLine("Customer name " + "sales " + "fee to be paid " + "70% value " + "30% value"); for (int DisplayPos = 0; DisplayPos < LineNum; DisplayPos = DisplayPos + 1) { seventy_percent_value = ((fee_payable[DisplayPos] / 10.0) * 7); thirty_percent_value = ((fee_payable[DisplayPos] / 10.0) * 3); Console.WriteLine(customer[DisplayPos] + …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.