Questions tagged «c#»

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

9
安装签名的应用程序时如何在Win8上传递智能屏幕?
我们是开发人员,并且我们有一个数字签名的应用程序安装程序。当我们安装此应用程序时,它将弹出智能屏幕,这会影响安装体验。它说 Windows保护您的PC Windows SmartScreen阻止了无法识别的应用程序的启动,运行此应用程序可能会使您的PC处于危险之中。 我认为,除了数字签名之外,微软还有一些策略来验证应用程序。有没有人有解决此问题的经验,请给我一些解决此问题的线索?

8
我应该在C#中将uint用作不能为负的值吗?
我刚刚尝试实现一个类,其中使用许多length / count属性等uint代替int。但是,在这样做的同时,我注意到这样做实际上是很痛苦的,就像没有人真正想要这样做那样。 几乎所有提供整数类型的东西都返回int,因此需要在多个点上进行强制转换。我想构造一个StringBuffer缓冲区长度默认为该类中字段之一的。也需要强制转换。 所以我想知道我是否应该回到int这里。无论如何,我当然不会使用整个范围。我只是认为,因为我在那里处理的东西不可能完全是负面的(如果是的话,那将是一个错误),所以实际使用它是一个好主意uint。 PS:我看到了这个问题,这至少可以解释为什么框架本身总是使用,int但是即使在自己的代码中,遵守它实际上也很麻烦,uint这使我认为显然并不需要它。
79 c#  integer 

6
为什么从扩展类中调用扩展方法需要'this'关键字
我为ASP.NET MVC ViewPage创建了扩展方法,例如: public static class ViewExtensions { public static string Method<T>(this ViewPage<T> page) where T : class { return "something"; } } 从视图(从派生ViewPage)中调用此方法时,除非得到使用关键字进行调用的错误,否则会出现错误“ CS0103:名称“方法”在当前上下文中不存在” this: <%: Method() %> <!-- gives error CS0103 --> <%: this.Method() %> <!-- works --> 为什么this需要关键字?还是没有它就可以工作,但是我缺少了什么? (我认为此问题一定是重复的,但找不到) 更新: 正如Ben Robinson所说,调用扩展方法的语法只是编译器糖。那么为什么编译器在不需要this关键字的情况下不能自动检查当前类型的基本类型的扩展方法呢?

20
无法加载文件或程序集“ Microsoft.Web.Infrastructure”,
我试图将我的网站上传到服务器。我的本地主机运行良好,因此我将localhostwwwroot文件夹中的所有内容上传到服务器并更改了连接字符串。 但是有这个错误: Exception information: Exception type: InvalidOperationException Exception message: The pre-application start initialization method Start on type RouteDebug.PreApplicationStart threw an exception with the following error message: Could not load file or assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.. at System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 …
79 c#  asp.net-mvc 



7
EF Code First中的计算列
我需要数据库中的一列由数据库计算为(行总和)-(行总和b)。我正在使用代码优先模型来创建数据库。 这是我的意思: public class Income { [Key] public int UserID { get; set; } public double inSum { get; set; } } public class Outcome { [Key] public int UserID { get; set; } public double outSum { get; set; } } public class FirstTable { [Key] public int UserID …

13
在C#中查找较大字符串中子字符串的所有位置
我有一个大字符串需要解析,我需要找到的所有实例extract"(me,i-have lots. of]punctuation,并将每个实例的索引存储到列表中。 因此,可以说该字符串位于较大字符串的开头和中间,这两个字符串都将被找到,并且它们的索引将添加到List。并且List将包含0和其他索引,无论它是什么。 我一直在玩弄和string.IndexOf做几乎就是我正在寻找的,我已经写了一些代码-但它不工作,我一直无法弄清楚到底什么是错的: List<int> inst = new List<int>(); int index = 0; while (index < source.LastIndexOf("extract\"(me,i-have lots. of]punctuation", 0) + 39) { int src = source.IndexOf("extract\"(me,i-have lots. of]punctuation", index); inst.Add(src); index = src + 40; } inst =清单 source =大字串 还有更好的主意吗?
79 c#  .net  asp.net  string 

6
C#7:在Out变量中使用下划线(_)和星号(*)
我在这里阅读有关C#7中新的可变功能的信息。我有两个问题: 它说 我们还允许以“”形式将“丢弃”作为输出参数_,以使您忽略不需要的参数: p.GetCoordinates(out var x, out _); // I only care about x 问:我想这只是C#7的一个信息而不是一项新功能,因为我们也可以在C#7.0之前的版本中这样做: var _; if (Int.TryParse(str, out _)) ... 还是我在这里想念东西? 当我在同一博客中提到时,我的代码给出了一个错误: ~Person() => names.TryRemove(id, out *); *不是有效的标识符。我猜是Mads Torgersen的疏忽吗?
79 c#  c#-7.0 

4
程序启动时如何请求管理员权限?
我需要我的软件能够在Windows Vista上以管理员身份运行(如果有人在没有管理权限的情况下运行它,它将崩溃)。 启动其他软件时,我看到系统提示“此软件将以管理员身份运行。是否要继续?” 当应用尝试获取管理权限时。 在Windows Vista上运行c#应用程序时如何请求管理特权?

6
无法对空引用执行运行时绑定,但不是空引用
使用:MVC 4,ASP.NET Razor 我收到一个错误,看起来像不可能。它告诉我,我使用的是空引用,即States,但显然它已被设置。 控制器: public ActionResult Index() { Dictionary<int, string> states = new Dictionary<int, string>() { { -1, "a"}, { 0, "b"}, { 1, "c"}, { 2, "d"}, }; //assigning states ViewBag.States = states; foreach (KeyValuePair<int, string> de in ViewBag.States) { Debug.WriteLine(de.Key); } return View(); } 风景: <div class="search-input"> …

2
部署无需安装即可运行的Visual Studio应用程序的最佳方法
我用C#/。NET编写了一个相当简单的应用程序,无法找到发布它的好方法。这是一种“工具”,用户只能运行一次或每几个月运行一次。因此,我希望有一种方法可以将其部署到不需要安装即可运行的地方(可以通过在下载后直接双击EXE文件来运行)。 但是,它仍然需要(以某种方式)包括正确版本的.NET,库等,以便它可以正确运行。我知道使用ClickOnce时会包含此文件,但仍会将应用程序安装到用户的计算机上。 有办法可以做到吗? 编辑-\ bin \ Debug myAppName.application myAppName.exe myAppName.exe.config myAppName.exe.manifest myAppName.pdb myAppName.vshost.application myAppName.vshost.exe myAppName.vshost.exe.config myAppName.vshost.exe.manifest extraLibrary.dll 以及两个文件夹 app.publish Resources

3
ConcurrentDictionary TryRemove何时返回false
它会仅在字典中不包含给定键的值的情况下才返回false还是由于线程争用条件而返回false,例如另一个线程添加/更新某些内容? 代码中的问题: ConcurrentDictionary<int, string> cd = new ConcurrentDictionary<int, string>(); // This might fail if another thread is adding with key value of 1. cd.TryAdd(1, "one"); // Will this ever fail if no other thread ever removes with the key value of 1? cd.TryRemove(1); 编辑: 我认为,如果它不包含给定键的值,则它只会返回false,但要绝对确定。
79 c#  .net  concurrency 


6
在C#ASP.NET中获取完整的查询字符串
作为一个PHP程序员,我习惯于使用$ _GET来检索HTTP查询字符串...如果我需要整个字符串,则有很多方法可以实现。 但是在ASP中,我似乎无法获取查询。 这是news.aspx的代码(嵌入一些HTML): <% string URL = "http://www.example.com/rendernews.php?"+Request.Querystring; System.Net.WebClient wc = new System.Net.WebClient(); string data = wc.DownloadString(URL); Response.Output.Write(data); %> 我正在从远程服务器获取PHP脚本的输出,并且在没有Request.Querystring的情况下,它可以完美地工作。 问题是我试图在第一行获取完整的查询字符串:Request.Querystring。我收到一个错误“对象引用未设置为对象的实例”,这基本上意味着Request.Querystring不存在。 知道这里出了什么问题吗?我如何获取该查询字符串,以便在像http://test.com/news.aspx?id=2那样调用index.aspx时,我的脚本获取http://www.example.com/rendernews.php?id=2
79 c#  asp.net  url 

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.