Questions tagged «c#»

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

2
将基于回调的异步方法转换为可等待任务的最佳方法
转换/包装使用回调的“经典”异步方法的最佳方法是什么,该方法返回一个(可等待的)任务? 例如,给定以下方法: public void GetStringFromUrl(string url, Action<string> onCompleted); 我知道将其包装到返回任务的方法中的唯一方法是: public Task<string> GetStringFromUrl(string url) { var t = new TaskCompletionSource<string>(); GetStringFromUrl(url, s => t.TrySetResult(s)); return t.Task; } 这是完成此任务的唯一方法吗? 并且有一种方法可以将对GetStringFromUrl(url,callback)的调用包装在任务本身中(即,调用本身将在任务内部运行而不是同步运行)

8
如何在Main中调用异步方法?
public class test { public async Task Go() { await PrintAnswerToLife(); Console.WriteLine("done"); } public async Task PrintAnswerToLife() { int answer = await GetAnswerToLife(); Console.WriteLine(answer); } public async Task<int> GetAnswerToLife() { await Task.Delay(5000); int answer = 21 * 2; return answer; } } 如果要在main()方法中调用Go,该怎么办?我正在尝试C#的新功能,我知道我可以将异步方法挂接到事件上,并通过触发该事件,可以调用异步方法。 但是,如果我想直接在main方法中调用该怎么办?我怎样才能做到这一点? 我做了类似的事情 class Program { static void …

7
IE中的“对象不支持属性或方法'查找'”
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script> $(document).ready(function () { var data = [{ "Id": "SWE", "Country": "Sweden", "Population": 9592552 }, { "Id": "NOR", "Country": "Norway", "Population": 5084190 }]; function display(e) { alert("E" + e); var countryData = data.find(function (element, index, array) { return element.Id === e; …

5
将对象复制到对象(使用Automapper吗?)
我有一堂课: public class Person { public string FirstName { get; set; } public string LastName { get; set; } } 我有两个Person实例(person1和person2)。我想将person2的内容复制到person1。我想在一个指令中制作此副本,而不是按属性制作: person1.LastName = person2.LastName; 在文档中,我看到将一个对象复制到另一个对象,但是类型不同。类型相同时如何复制对象?
77 c#  automapper 


4
带有传输的C#RSA加密/解密
我在C#网上看到了很多使用System.Security.Cryptography.RSACryptoServiceProvider的加密/解密教程和示例,但是我希望能够做到的是: 创建RSA公钥/私钥对 传输公钥(或为概念验证,只需将其移动到字符串变量中) 创建一个新的RSA加密提供程序并使用公共密钥加密一个字符串 将加密的字符串(或数据)发送回原始加密提供者并解密该字符串 有人可以为此指出我有用的资源吗?
77 c#  cryptography  rsa 

2
在ASP.net MVC 4中使用部分视图
我最近开始使用ASP.net MVC(4),但是我无法解决这个问题。我敢肯定,一旦您知道它就很容易。 我实质上是在索引视图中尝试执行以下操作: 在索引视图中列出类型为“ Note”的数据库中的当前项目(这很容易) 在同一索引视图中创建新项目(不是那么容易)。 因此,我认为我需要局部视图,并且已按如下所示创建了该视图(_CreateNote.cshtml): @model QuickNotes.Models.Note @using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset> <legend>Note</legend> <div class="editor-label"> @Html.LabelFor(model => model.Content) </div> <div class="editor-field"> @Html.EditorFor(model => model.Content) @Html.ValidationMessageFor(model => model.Content) </div> <p> <input type="submit" value="Create" /> </p> </fieldset> } 在我原始的索引视图(Index.cshtml)中,我试图呈现此局部视图: @model IEnumerable<QuickNotes.Models.Note> @{ ViewBag.Title = "Personal notes"; } <h2>Personal notes</h2> <p> …


4
C#属性实际上是方法吗?
到现在为止,我对Properties&的印象是MethodsC#中的两件事。但是后来我做了下面的事情。 这对我来说是个“开眼神”。我期待一种属性stringProp和一种方法,stringProp但是我得到了。 为什么会这样?有人可以解释一下。
77 c#  .net  oop 


7
通过强制转换为uint而不是检查负值来执行范围检查是否更有效?
我在.NET的List源代码中偶然发现了这段代码: // Following trick can reduce the range check by one if ((uint) index >= (uint)_size) { ThrowHelper.ThrowArgumentOutOfRangeException(); } 显然,这比(?)更有效 if (index < 0 || index >= _size) 我对这招背后的理由感到好奇。一条分支指令真的比两次转换贵uint吗?还是正在进行其他优化,以使此代码比其他数字比较快? 为了解决房间里的大象问题:是的,这是微优化,不,我不打算在代码中到处使用它–我只是很好奇;)

9
安全处理异常时,避免出现第一次机会异常消息
以下代码捕获EOS异常 using (var reader = new BinaryReader(httpRequestBodyStream)) { try { while (true) { bodyByteList.Add(reader.ReadByte()); } } catch (EndOfStreamException) { } } 那么,为什么我的控制台中仍然会出现首次机会异常? mscorlib.dll中发生类型为'System.IO.EndOfStreamException'的第一次机会异常 有没有办法隐藏这些第一次机会异常消息?
77 c#  .net  exception 

11
修复:全局元素“配置”已被声明
我使用了第二个解决方案: 如何解决“找不到元素/属性<xxx>的架构信息”? 即使用按钮创建一个XSD来创建一个方案。我将app.config中的样式表更改为app.xsd,但现在收到警告: 全局元素“配置”已在app.xsd中声明 即使更改名称,也会显示警告。有人对此有解决方案吗?

9
在C#中将匿名类型转换为键/值数组?
我有以下匿名类型: new {data1 = "test1", data2 = "sam", data3 = "bob"} 我需要一种可以接受此方法的方法,并在数组或字典中输出键值对。 我的目标是将其用作HttpRequest中的发布数据,因此我最终将连接到以下字符串中: "data1=test1&data2=sam&data3=bob"

8
互相引用的不可变对象?
今天,我试图将自己的头放在相互引用的不可变对象上。我得出的结论是,如果不使用惰性评估就无法做到这一点,但是在此过程中(我认为)我编写了此有趣的代码。 public class A { public string Name { get; private set; } public B B { get; private set; } public A() { B = new B(this); Name = "test"; } } public class B { public A A { get; private set; } public B(A a) { //a.Name …
77 c#  immutability 

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.