Questions tagged «c#»

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


9
无法加载ps1,因为此系统上禁用了运行脚本
我尝试powershell从C#运行脚本。 首先,我将设置ExecutionPolicy为Unrestricted,脚本现在从开始运行PowerShell ISE。 现在这是C#我的代码: class Program { private static PowerShell ps; static void Main(string[] args) { ps = PowerShell.Create(); string ps1File = Path.Combine(Environment.CurrentDirectory, "script.ps1"); ExecuteScript(ps1File); Console.ReadLine(); } static void ExecuteScript(string script) { try { ps.AddScript(script); Collection<PSObject> results = ps.Invoke(); Console.WriteLine("Output:"); foreach (var psObject in results) { Console.WriteLine(psObject); } Console.WriteLine("Non-terminating errors:"); …
120 c#  powershell 

30
C ++性能与Java / C#
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它当前不接受新的答案或互动。 我的理解是C / C ++会生成在特定机器体系结构上运行的本机代码。相反,诸如Java和C#之类的语言在虚拟机之上运行,该虚拟机抽象出本机体系结构。从逻辑上讲,由于这一中间步骤,Java或C#似乎不可能达到C ++的速度,但是有人告诉我最新的编译器(“热点”)可以达到或什至超过此速度。 也许这更像是编译器问题,而不是语言问题,但是谁能用通俗的英语解释这些虚拟机语言中的一种比本地语言有更好的表现?
119 c#  java  c++  performance  bytecode 



11
安装时自动启动Windows服务
我有使用InstallUtil.exe安装的Windows服务。即使我将“启动方法”设置为“自动”,该服务在安装后也不会启动,我必须手动打开服务并单击“启动”。是否可以通过命令行或通过服务代码来启动它?

5
可能丢失分数
如果这是一个天真的问题,请原谅我,但是我今天茫然了。 我有一个简单的除法计算,如下所示: double returnValue = (myObject.Value / 10); 值是对象中的int。 我收到一条消息,提示可能丢失分数。但是,当我将double更改为int时,消息消失了。 关于为什么会发生这种情况有任何想法吗?
119 c#  math 

3
为什么此字符串扩展方法不引发异常?
我有一个C#字符串扩展方法,该方法应返回IEnumerable<int>字符串中子字符串的所有索引中的一个。它可以完美地实现其预期目的,并且可以返回预期的结果(由我的一个测试证明,虽然不是以下测试),但是另一个单元测试发现了一个问题:它无法处理空参数。 这是我正在测试的扩展方法: public static IEnumerable<int> AllIndexesOf(this string str, string searchText) { if (searchText == null) { throw new ArgumentNullException("searchText"); } for (int index = 0; ; index += searchText.Length) { index = str.IndexOf(searchText, index); if (index == -1) break; yield return index; } } 这是检测出该问题的测试: [TestMethod] [ExpectedException(typeof(ArgumentNullException))] public void Extensions_AllIndexesOf_HandlesNullArguments() …

4
C#中的重入锁
下面的代码是否会在.NET上使用C#导致死锁? class MyClass { private object lockObj = new object(); public void Foo() { lock(lockObj) { Bar(); } } public void Bar() { lock(lockObj) { // Do something } } }

7
静态索引器?
Наэтотвопросестьответына 堆栈溢出нарусском:Перегрузкаиндексаторастатическогокласса 为什么在C#中不允许使用静态索引器?我认为没有理由不应该允许使用它们,而且它们可能非常有用。 例如: public static class ConfigurationManager { public object this[string name] { get => ConfigurationManager.getProperty(name); set => ConfigurationManager.editProperty(name, value); } /// <summary> /// This will write the value to the property. Will overwrite if the property is already there /// </summary> /// <param name="name">Name of the property</param> /// …

7
处置WPF用户控件
我已经创建了一个供第三方使用的自定义WPF用户控件。我的控件有一个私有成员,该成员是可抛弃的,并且我想确保一旦包含窗口/应用程序关闭,它的dispose方法将始终被调用。但是,UserControl不是一次性的。我尝试实现IDisposable接口并订阅Unloaded事件,但是在主机应用程序关闭时都未调用。如果有可能,我不想依靠控件的使用者记住要调用特定的Dispose方法。 public partial class MyWpfControl : UserControl { SomeDisposableObject x; // where does this code go? void Somewhere() { if (x != null) { x.Dispose(); x = null; } } } 到目前为止,我发现的唯一解决方案是订阅Dispatcher的ShutdownStarted事件。这是合理的方法吗? this.Dispatcher.ShutdownStarted += Dispatcher_ShutdownStarted;
119 c#  .net  wpf  user-controls  dispose 

3
我该如何在签名中具有可选参数而不显式指定它或使用重载的方法?
给定以下界面: public interface IFoo { bool Foo(string a, bool b = false); } 尝试使用Moq模拟它: var mock = new Mock<IFoo>(); mock.Setup(mock => mock.Foo(It.IsAny<string>())).Returns(false); 在编译时给出以下错误: 表达式树可能不包含使用可选参数的调用或调用 我发现上述问题是Moq问题列表中的增强功能,并且似乎已分配给4.5版本(无论何时)。 我的问题是:鉴于上述情况不会很快得到解决,该怎么办?我的选择是只在每次模拟它时都显式设置可选参数的默认值(这种设置会破坏首先指定一个参数的目的)或创建没有布尔值的重载(就像我会做的那样)在C#4之前)? 还是有人遇到了更聪明的方法来克服这个问题?
119 c#  unit-testing  moq 

7
如何将DateTime转换为自1970年以来的秒数?
我正在尝试将C#DateTime变量转换为Unix时间,即自1970年1月1日以来的秒数。看来DateTime实际上是自0001年1月1日以来实现的“滴答”数。 我目前的想法是从DateTime中减去1970年1月1日,如下所示: TimeSpan span= DateTime.Now.Subtract(new DateTime(1970,1,1,0,0,0)); return span.TotalSeconds; 有没有更好的办法?
119 c#  datetime 


3
XML序列化-禁用呈现数组的根元素
我可以以某种方式禁用集合根元素的渲染吗? 此类具有序列化属性: [XmlRoot(ElementName="SHOPITEM", Namespace="")] public class ShopItem { [XmlElement("PRODUCTNAME")] public string ProductName { get; set; } [XmlArrayItem("VARIANT")] public List<ShopItem> Variants { get; set; } } 生成此XML: <SHOPITEM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <PRODUCTNAME>test</PRODUCTNAME> <Variants> <VARIANT> <PRODUCTNAME>hi 1</PRODUCTNAME> </VARIANT> <VARIANT> <PRODUCTNAME>hi 2</PRODUCTNAME> </VARIANT> </Variants> </SHOPITEM> 我不要<Variants>在这里元素。我必须做什么? 另外我在根元素中不需要xsi和xsd命名空间...

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.