Questions tagged «c#»

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

4
如何使用ASP.NET MVC 3和Stackoverflow的Markdown
我已经研究了几个小时,却找不到任何真正的来源。我正在ASP.NET MVC 3中构建站点,并希望利用StackOverflow使用的Markdown编辑器。有人有很好的教程吗? 您在哪里下载最新的降价商品?它用什么语言写?我将从哪里开始将其集成到MVC 3项目中?即使在完成所有搜索和阅读之后,我还是很困惑。 我遇到了一个站点。http://daringfireball.net/projects/markdown/但这似乎有些古怪,而且我似乎必须学习一些我完全没有经验的CGI和PERL。javascript / jQuery版本会很出色。非常感谢任何想法,链接,参考。 更新 我注意到这个问题引起了广泛的关注,因此我决定使用一些有用的参考进行更新。我设法在CodeTunnel.com上让Markdown编辑器正常工作,并为此写了一些博客。希望他们能帮助遇到此问题的任何人。 MarkdownSharp和编码的HTML jQuery WMD插件 查找并实施WMD编辑器

8
为什么不能修剪数组?
在MSDN文档站点上,该Array.Resize方法说明如下: 如果newSize大于旧数组的Length,则分配一个新数组,并将所有元素从旧数组复制到新数组。 如果newSize小于旧数组的长度,则分配一个新数组,并将元素从旧数组复制到新数组,直到填充新数组为止。旧数组中的其余元素将被忽略。 数组是一系列相邻的存储块。如果我们需要更大的数组,我知道我们无法向其添加内存,因为它旁边的内存可能已经被其他一些数据占用。因此,我们必须声明一个新的相邻存储块序列,并具有所需的更大大小,然后在其中复制条目并删除对旧空间的声明。 但是,为什么要创建一个较小的新数组?为什么阵列不能仅仅删除其对最后一个存储块的要求?那么它将是O(1)运算,而不是现在的O(n)。 它与在计算机体系结构或物理级别上如何组织数据有关吗?

1
我是否需要考虑处置我使用的任何IEnumerable <T>?
它最近向我指出,各种LINQ的扩展方法(如Where,Select等)返回IEnumerable&lt;T&gt;,恰巧也有IDisposable。以下评估为True new int[2] {0,1}.Select(x =&gt; x*2) is IDisposable 我是否需要处理Where表达式的结果? 每当我调用返回的方法时,完成操作后IEnumerable&lt;T&gt;,我是否(潜在地)承担对处置的责任?
70 c#  linq  ienumerable  dispose 

3
为什么.NET内部Hashtable中有Thread.Sleep(1)?
最近,我在阅读.NET Hashtable的实现,遇到了我不理解的代码。部分代码是: int num3 = 0; int num4; do { num4 = this.version; bucket = bucketArray[index]; if (++num3 % 8 == 0) Thread.Sleep(1); } while (this.isWriterInProgress || num4 != this.version); 整个代码是内public virtual object this[object key]的System.Collections.Hashtable(mscorlib程序版本= 4.0.0.0)。 问题是: 在Thread.Sleep(1)那里的原因是什么?

2
C#中损坏的字符串
我遇到了“ CorruptedString”(解决方案)。这是本书中的以下程序代码: var s = "Hello"; string.Intern(s); unsafe { fixed (char* c = s) for (int i = 0; i &lt; s.Length; i++) c[i] = 'a'; } Console.WriteLine("Hello"); // Displays: "aaaaa" 为什么该程序显示“ aaaaa”?我了解此程序如下: 在CLR中实习生池储备“你好”(我的图像实习生池作为一组字符串)。 string.Intern(s) 实际上不执行任何操作,因为CLR保留了“ Hello”字符串-它仅返回保留的“ Hello”字符串的地址(对象s具有相同的地址) 该程序通过指针更改“ Hello”字符串的内容 ??? 内部处理池中应没有Hello字符串,并且应该是错误的!但是没关系;该程序运行成功。 据我了解,实习生池,就像某种字符串到字符串的字典。也许我错过了什么?
70 c#  string 

1
使用dotnetopenauth的Facebook / Twitter?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我已经使用DotNetOpenAuth库使OpenID发挥了作用。现在,我希望用户能够使用Facebook和Twitter登录。 这需要 OAuth要这样做,因此我正在寻找有关如何使用DotNetOpenAuth OAuth的教程。 我在尝试找到一些有关如何执行此操作的简单教程时遇到了麻烦。 谁能帮忙吗?

3
MVC和Umbraco集成
我已经遵循了http://memoryleak.me.uk/2009/04/umbraco-and-aspnet-mvc.html中的步骤,并将MVC成功集成到Umbraco中,但是我仍然遇到一个对我来说至关重要的问题。 有什么方法可以在MVC视图中继承Umbraco定义的模板吗?据我了解,问题在于Umbraco模板仅在运行时变为HTML,并且doctype属性(如@nodeName)无法识别,因此引发了“对象空引用”异常。 谢谢!


5
ASP.NET MVC 3-重定向到另一个操作
我想将Home控制器的Index操作重定向到另一个控制器的操作,仅此而已。因此,我的代码是: public void Index() { //All we want to do is redirect to the class selection page RedirectToAction("SelectClasses", "Registration"); } 现在,这只会加载一个0 kB的空白页面,什么也不做。我感觉它与该void返回类型有关,但是我不知道将其更改为什么。这是什么问题?

5
BackgroundWorker中未处理的异常
我有一个小型的WinForms应用程序,该应用程序使用BackgroundWorker对象执行长时间运行的操作。 后台操作偶尔会引发异常,通常是当有人打开了正在重新创建的文件时。 不管代码是否从IDE运行,.NET都会弹出一个错误对话框,通知用户发生了未处理的异常。使用Release配置编译代码也不会对此进行更改。 根据MSDN: 如果该操作引发您的代码无法处理的异常,则BackgroundWorker将捕获该异常并将其传递到RunWorkerCompleted事件处理程序,在该事件处理程序中将其公开为System.ComponentModel .. ::。RunWorkerCompletedEventArgs的Error属性。如果在Visual Studio调试器下运行,则调试器将在DoWork事件处理程序中引发未处理异常的点处中断。 我希望有时会抛出这些异常,并且希望在RunWorkerCompleted事件中而不是在DoWork中处理它们。我的代码正常运行,并且在RunWorkerCompleted事件中正确处理了错误,但是我终生无法弄清楚如何停止抱怨“未处理的异常”的.NET错误对话框。 BackgroundWorker是否应该自动捕获该错误?这不是MSDN文档说明的吗?我需要做什么做的通知.NET,这个错误是被处理,同时仍允许例外propage到RunWorkerCompletedEventArgs的错误属性?

3
如何将具有值的新列添加到现有数据表中?
我有一个具有5列和10行的DataTable。现在,我想向数据表中添加一个新列,并希望将DropDownList值分配给新列。因此,DropDownList值应添加10次到“新列”中。这该怎么做?注意:不使用FOR LOOP。 例如:我现有的数据表就是这样。 ID Value ----- ------- 1 100 2 150 现在,我想向该数据表中添加一个新列“ CourseID”。我有一个DropDownList。它的选择值为1。因此,“我的现有表”应如下所示: ID Value CourseID ----- ------ ---------- 1 100 1 2 150 1 这该怎么做?

3
JSONResult转换为String
我有一个JsonResult工作正常,并从某些POCO返回JSON。我想将JSON作为字符串保存在数据库中。 public JsonResult GetJSON() { JsonResult json = new JsonResult { Data = GetSomPocos() }; return json; } 我需要审核响应,因此要将其保存json到数据库中。我很难找到一种将JSON作为字符串获取的方法。 任何帮助表示赞赏。

12
在保持排序的同时将排序列表保存到数据库的最佳方法
我想知道是否有人能很好地解决我在过去几年中多次遇到的问题。 我有一个购物车,我的客户明确要求其订单量很大。因此,我需要将订单保留到数据库。 显而易见的方法是简单地插入一些OrderField,在其中我将数字0分配给N并以这种方式对其进行排序。 但是这样做会使重新订购变得更加困难,而且我不知何故觉得此解决方案有些脆弱,总有一天会再次出现在我身上。 (我将C#3,5与NHibernate和SQL Server 2005一起使用) 谢谢

11
具有返回随机结果的函数的单元测试
我不认为这是特定于语言或框架的,但是我正在使用xUnit.net和C#。 我有一个函数,它返回一定范围内的随机日期。我输入了一个日期,返回日期始终在给定日期之前的1到40年之间。 现在,我只是想知道是否有一个很好的方法来对此进行单元测试。最好的方法似乎是创建一个循环并让函数运行100次,然后断言这100个结果中的每一个都在期望的范围内,这是我目前的方法。 我还意识到,除非能够控制我的Random生成器,否则就不会有完美的解决方案(毕竟结果是随机的),但是我想知道当您必须测试在其中返回随机结果的功能时采用什么方法?一定范围?

3
无法从apicontroller中的OwinContext获取UserManager
我正在跟踪一个Microsoft示例,以使用Identity 2.0.0实现电子邮件验证。 我被困在这部分 public ApplicationUserManager UserManager { get { return _userManager ?? HttpContext.GetOwinContext().GetUserManager&lt;ApplicationUserManager&gt;(); } private set { _userManager = value; } } 这可以在ApiController中工作,controller但HttpContext不包含任何GetOwinContext方法。 所以我尝试了,HttpContext.Current.GetOwinContext()但是该方法GetUserManager不存在。 我找不到UserManager在Startup.Auth.cs中构建I的方法 // For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { //Configure the db context, user manager and role manager to …

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.