Questions tagged «c#»

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

2
创建计划任务
我正在从事C#WPF项目。我需要允许用户创建计划任务并将其添加到Windows Task Scheduler。 我该如何去做,以及我需要什么使用指令和引用,因为在搜索Internet时找不到太多东西。
148 c#  wpf  scheduled-tasks 

14
在C#中将char转换为int
我在C#中有一个字符: char foo = '2'; 现在,我想将2转换为int。我发现Convert.ToInt32返回char的实际十进制值,而不是数字2。以下将起作用: int bar = Convert.ToInt32(new string(foo, 1)); int.parse也仅适用于字符串。 在C#中,没有将本机函数从char转换为int而不将其设置为字符串的功能吗?我知道这是微不足道的,但是奇怪的是,没有任何原生工具可以直接进行转换。
148 c#  char  int 

12
我可以在单元测试中写入控制台吗?如果是,为什么控制台窗口没有打开?
我在Visual Studio中有一个测试项目。我使用Microsoft.VisualStudio.TestTools.UnitTesting。 我在我的一个单元测试中添加了这一行: Console.WriteLine("Some foo was very angry with boo"); Console.ReadLine(); 当我运行测试时,测试通过了,但控制台窗口根本没有打开。 有没有一种方法可以使控制台窗口可通过单元测试进行交互?



1
为什么C#编译器将此!=比较翻译为>比较?
我偶然发现C#编译器启用了此方法: static bool IsNotNull(object obj) { return obj != null; } …进入此CIL: .method private hidebysig static bool IsNotNull(object obj) cil managed { ldarg.0 // obj ldnull cgt.un ret } …或者,如果您希望查看反编译的C#代码,请执行以下操作: static bool IsNotNull(object obj) { return obj > null; // (note: this is not a valid C# expression) } 怎么把这些!=翻译成“ …
147 c#  cil  il  notnull  binary-operators 



5
使用Request.CreateResponse的ASP.NET WebApi单元测试
我正在尝试为ApiController编写一些单元测试,并且遇到了一些问题。有一个很好的扩展方法,称为Request.CreateResponse,它对生成响应有很大帮助。 public HttpResponseMessage Post(Product product) { var createdProduct = repo.Add(product); return this.Request.CreateResponse(HttpStatusCode.Created, createdProduct); } 有什么方法可以模拟CreateResponse,而无需使用部分模拟或直接使用“ new HttpResponseMessage(...)”?

8
System.Diagnostics.Debug.Write输出出现在哪里?
以下C#程序(使用内置csc hello.cs)仅Hello via Console!在控制台和Hello via OutputDebugStringDebugView窗口中打印。但是,我看不到任何一个System.Diagnostics.*电话。这是为什么? using System; using System.Runtime.InteropServices; class Hello { [DllImport("kernel32.dll", CharSet=CharSet.Auto)] public static extern void OutputDebugString(string message); static void Main() { Console.Write( "Hello via Console!" ); System.Diagnostics.Debug.Write( "Hello via Debug!" ); System.Diagnostics.Trace.Write( "Hello via Trace!" ); OutputDebugString( "Hello via OutputDebugString" ); } } 是否可能需要一些特殊的命令行开关csc? 我没有使用Visual Studio进行任何开发,这只是纯命令行内容。
147 c#  debugging 

5
以编程方式提升流程特权?
我正在尝试使用InstallUtil.exe安装服务,但通过调用Process.Start。这是代码: ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath); System.Diagnostics.Process.Start (startInfo); 其中m_strInstallUtil是“ InstallUtil.exe”的标准路径和exe,并且strExePath是我的服务的标准路径/名称。 从提升的命令提示符下运行命令行语法是可行的;从我的应用程序运行(使用上面的代码)没有。我假设我正在处理一些流程提升问题,那么如何在提升状态下运行流程?我需要看看ShellExecute吗? 这一切都在Windows Vista上。我正在提升为admin特权的VS2008调试器中运行该过程。 我也尝试设置,startInfo.Verb = "runas";但似乎无法解决问题。

7
如何基于名称获取属性值
有没有一种方法可以根据对象的名称获取对象的属性值? 例如,如果我有: public class Car : Vehicle { public string Make { get; set; } } 和 var car = new Car { Make="Ford" }; 我想编写一个方法,我可以在其中传递属性名称,它将返回属性值。即: public string GetPropertyValue(string propertyName) { return the value of the property; }
147 c#  asp.net  reflection 

17
返回值或out参数哪个更好?
如果要从方法获取值,则可以使用两个返回值之一,如下所示: public int GetValue(); 要么: public void GetValue(out int x); 我不太了解它们之间的区别,因此,不知道哪个更好。你能解释一下吗? 谢谢。
147 c#  reference 

8
向背景工作者发送参数?
假设我想将int参数发送给后台工作者,这如何完成? private void worker_DoWork(object sender, DoWorkEventArgs e) { } 我知道什么时候是worker.RunWorkerAsync();,我不知道如何在worker_DoWork中定义它应该采用int参数。


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.