Questions tagged «c#»

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

10
SqlParameter已被另一个SqlParameterCollection包含-using(){}是否作弊?
using() {}如下所示使用(sic)块时,并假设该块cmd1没有超出第一个using() {}块的范围,为什么第二个块会在消息中引发异常 SqlParameter已被另一个SqlParameterCollection包含 这是否意味着在块末尾销毁的资源和/或句柄(包括参数(SqlParameterCollection))cmd1不会释放? using (var conn = new SqlConnection("Data Source=.;Initial Catalog=Test;Integrated Security=True")) { var parameters = new SqlParameter[] { new SqlParameter("@ProductId", SqlDbType.Int ) }; using(var cmd1 = new SqlCommand("SELECT ProductName FROM Products WHERE ProductId = @ProductId")) { foreach (var parameter in parameters) { cmd1.Parameters.Add(parameter); } // cmd1.Parameters.Clear(); // …
85 c#  .net  sql-server  ado.net 

1
什么是[事实]属性?
我敢肯定这非常简单,但是我显然不是在谷歌搜索正确的事情。在一些与单元测试有关的博客中,我已经看到了几种方法的属性[fact],但是我似乎无法弄清楚这意味着什么。例: public class SomeClass { [Fact] public void Foo() { } [Fact] public void Bar() { } }
85 c# 

30
C#(.NET)设计缺陷
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 一般而言,C#或.NET Framework中最大的设计缺陷是什么? 示例:没有不可为空的字符串类型,从IDataReader提取值时必须检查DBNull。
84 c#  .net 

13
MVC3 Razor DropDownListFor枚举
试图将我的项目更新为MVC3,但我却找不到: 我有一个简单的ENUMS数据类型: public enum States() { AL,AK,AZ,...WY } 我想在包含此数据类型的模型视图中用作DropDown / SelectList: public class FormModel() { public States State {get; set;} } 非常简单:当我使用自动生成的视图用于此局部类时,它将忽略此类型。 我需要一个简单的选择列表,当我通过AJAX-JSON POST方法单击提交并进行处理时,将枚举的值设置为选定项。 并且比视图(???!): <div class="editor-field"> @Html.DropDownListFor(model => model.State, model => model.States) </div> 预先感谢您的建议!


4
从HttpContext获取当前的System.Web.UI.Page吗?
这实际上是一个两部分的问题。首先,HttpContext.Current是否对应于当前的System.UI.Page对象? 第二个问题(可能与第一个问题有关)是为什么我不能使用以下内容查看当前页面是否实现了接口: private IWebBase FindWebBase() { if (HttpContext.Current as IWebBase != null) { return (IWebBase)HttpContext.Current.; } throw new NotImplementedException("Crawling for IWebBase not implemented yet"); } 一般情况是某些控件需要知道它们是作为SharePoint Webpart还是作为Asp.Net框架的一部分执行的。 我通过要求控件传递对自身的引用并检查控件的Page属性来解决了该问题,但是我仍然很好奇为什么上述方法不起作用。 编译器错误是:无法通过引用转换,装箱转换,拆箱转换,包装转换或空类型转换将System.Web.HttpContext转换为... IWebBase。

4
如何制作可捕获WinForms应用程序中所有“未处理”异常的东西?
到目前为止,我只是Application.Run在Program.cs该程序的入口点周围放置了一个try / catch块。这样可以在调试模式下很好地捕获所有异常,但是当我在没有调试模式的情况下运行程序时,不再处理异常。我得到了未处理的异常框。 我不希望这种情况发生。我希望在非调试模式下运行时捕获所有异常。该程序有多个线程,最好所有线程中的所有异常都由同一处理程序捕获;我想在数据库中记录异常。有人对如何执行此操作有任何建议吗?

2
剃刀视图引擎-如何添加部分视图
我想知道,如果有可能,使用新的剃刀视图引擎渲染部分图像的最佳方法是什么。我了解到那时这还没有完全完成 现在,我正在使用RenderPage来呈现用户控件: @RenderPage("~/Views/Shared/LocaleUserControl.cshtml",ViewData.Model) 调用RenderPage的页面使用布局(母版)页面,其中定义了三个部分:TitleContent,HeadContent和Maincontent。当我尝试从此页面呈现区域设置控件时,似乎也需要这些部分-仅应在调用页面中将其显示为必需。无论我是否在部分视图中包括这些部分,我都会收到以下消息(很明显,我不想包括这些部分,但这似乎是一个有趣的调试点...)。 以下部分已定义,但尚未在布局页面“〜/ Views / Shared / LocaleUserControl.cshtml”上呈现:TitleContent; HeadContent; 主要内容 我的局部视图如下(从以下链接改编): @inherits System.Web.Mvc.WebViewPage<LocaleBaseModel> @using System.Web.UI; <p> @Html.LabelFor(model => Model.CountryName) <br /> @Html.DropDownListFor(model => Model.CountryName,null, string.Empty, new { @class = "text", accesskey="u"}) </p> <p> @Html.LabelFor(model => Model.StateProvince) <br /> @Html.DropDownListFor(model => Model.StateProvince, null, string.Empty, new { @class = "text", …
84 c#  asp.net-mvc  razor 


2
为什么在发布和调试模式下代码行为不同?
考虑以下代码: private static void Main(string[] args) { var ar = new double[] { 100 }; FillTo(ref ar, 5); Console.WriteLine(string.Join(",", ar.Select(a => a.ToString()).ToArray())); } public static void FillTo(ref double[] dd, int N) { if (dd.Length >= N) return; double[] Old = dd; double d = double.NaN; if (Old.Length > 0) d …
84 c#  .net  .net-core  coreclr 

5
如何全局告诉Json.Net将StringEnumConverter应用于所有枚举
我想使用json.net将枚举反序列化为它们的字符串表示形式,反之亦然。我可以弄清楚告诉框架应用它的唯一方法StringEnumConverter是对有问题的属性进行如下注释: [JsonConverter(typeof(StringEnumConverter))] public virtual MyEnums MyEnum { get; set; } 但是,在我的用例中,全局配置json.net会更加方便,这样所有枚举都可以使用进行(反)序列化StringEnumConverter,而无需额外的注释。 有没有办法做到这一点,例如在custom的帮助下JsonSerializerSettings?
84 c#  .net  json  json.net 

4
新线程中的WebBrowser控件
我有一个列表Uri,我想“单击”以实现此目的,我正在尝试为每个Uri创建一个新的Web浏览器控件。我为每个Uri创建一个新线程。我遇到的问题是文档之前的线程结束已完全加载,所以我再也无法利用DocumentComplete事件了,该如何克服呢? var item = new ParameterizedThreadStart(ClicIt.Click); var thread = new Thread(item) {Name = "ClickThread"}; thread.Start(uriItem); public static void Click(object o) { var url = ((UriItem)o); Console.WriteLine(@"Clicking: " + url.Link); var clicker = new WebBrowser { ScriptErrorsSuppressed = true }; clicker.DocumentCompleted += BrowseComplete; if (String.IsNullOrEmpty(url.Link)) return; if (url.Link.Equals("about:blank")) return; if (!url.Link.StartsWith("http://") …

9
C#是否支持返回类型协方差?
我正在使用.NET框架,但我确实希望能够制作一种供我所有网站使用的自定义类型的页面。当我尝试从控件访问页面时,问题就来了。我希望能够返回我的特定页面类型而不是默认页面。有什么办法吗? public class MyPage : Page { // My own logic } public class MyControl : Control { public MyPage Page { get; set; } }
84 c#  covariance 

25
生成质数的最优雅方法
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 改善这个问题 什么是实现此功能的最佳方法: ArrayList generatePrimes(int n) 此函数生成第一个n素数(edit:where n>1),因此generatePrimes(5)将返回ArrayListwith {2, 3, 5, 7, 11}。(我正在用C#进行此操作,但是我对Java实现很满意-或其他与此类似的语言(因此没有Haskell))。 我确实知道如何编写此函数,但是昨晚当我这样做时,它并没有达到我希望的那样好。这是我想出的: ArrayList generatePrimes(int toGenerate) { ArrayList primes = new ArrayList(); primes.Add(2); primes.Add(3); while (primes.Count < toGenerate) { int nextPrime = (int)(primes[primes.Count - 1]) + 2; while (true) { bool isPrime = true; foreach (int n …
84 c#  java  algorithm  primes 

5
string.Empty vs null。您使用哪个?
最近有个同事在工作,告诉我不要string.Empty在设置字符串变量时使用null,而是在污染堆栈时使用? 他说不要 string myString=string.Empty; 但是做 string mystring=null; 真的有关系吗?我知道字符串是一个对象,因此它很有意义。 我知道这是一个愚蠢的问题,但是您怎么看?
84 c#  .net  null  string 

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.