Questions tagged «.net»

请勿使用有关.NET Core的问题,而应使用[.net-core]。.NET框架是主要为Microsoft Windows操作系统设计的软件框架。它包括基类库,公共语言运行时(通常称为CLR),公共类型系统(通常称为CTS)和动态语言运行时的实现。它支持多种编程语言,包括C#,VB.NET,F#和C ++ / CLI。

13
将枚举属性数据绑定到WPF中的ComboBox
以下面的代码为例: public enum ExampleEnum { FooBar, BarFoo } public class ExampleClass : INotifyPropertyChanged { private ExampleEnum example; public ExampleEnum ExampleProperty { get { return example; } { /* set and notify */; } } } 我想要将属性ExampleProperty数据绑定到ComboBox,以便它显示选项“ FooBar”和“ BarFoo”,并在TwoWay模式下工作。理想情况下,我希望我的ComboBox定义看起来像这样: <ComboBox ItemsSource="What goes here?" SelectedItem="{Binding Path=ExampleProperty}" /> 目前,我在我手动执行绑定的Window中安装了ComboBox.SelectionChanged和ExampleClass.PropertyChanged事件的处理程序。 有更好的或某种规范的方法吗?您通常会使用转换器吗,如何用正确的值填充ComboBox?我什至不想现在就开始使用i18n。 编辑 因此回答了一个问题:如何用正确的值填充ComboBox。 通过ObjectDataProvider从静态Enum.GetValues方法检索Enum值作为字符串列表: …
256 .net  wpf 

5
如何访问.NET正则表达式中的命名捕获组?
我很难找到一个很好的资源来解释如何在C#中使用命名捕获组。这是我到目前为止的代码: string page = Encoding.ASCII.GetString(bytePage); Regex qariRegex = new Regex("<td><a href=\"(?<link>.*?)\">(?<name>.*?)</a></td>"); MatchCollection mc = qariRegex.Matches(page); CaptureCollection cc = mc[0].Captures; MessageBox.Show(cc[0].ToString()); 但是,这始终只显示完整的行: <td><a href="/path/to/file">Name of File</a></td> 我已经尝试了在各种网站上发现的其他几种“方法”,但是得到的结果仍然相同。 如何访问正则表达式中指定的命名捕获组?
255 c#  .net  regex 

13
如何使用C#在.NET中获取格式化的JSON?
我正在使用.NET JSON解析器,并希望序列化我的配置文件,以便可读。所以代替: {"blah":"v", "blah2":"v2"} 我想要更好的东西: { "blah":"v", "blah2":"v2" } 我的代码是这样的: using System.Web.Script.Serialization; var ser = new JavaScriptSerializer(); configSz = ser.Serialize(config); using (var f = (TextWriter)File.CreateText(configFn)) { f.WriteLine(configSz); f.Close(); }

8
从月份号获取月份名称
可能重复: 如何在c#中获取MonthName? 我使用以下c#语法从no月份获取月份名称,但我得到了 August我只想要Aug.. System.Globalization.DateTimeFormatInfo mfi = new System.Globalization.DateTimeFormatInfo(); string strMonthName = mfi.GetMonthName(8).ToString(); 任何建议...
254 c#  .net  datetime 

24
对于i = 0,为什么(i + = i ++)等于0?
采用以下代码(可用作控制台应用程序): static void Main(string[] args) { int i = 0; i += i++; Console.WriteLine(i); Console.ReadLine(); } 结果i为0。我期望为2(就像我的一些同事一样)。编译器可能会创建某种导致i零的结构。 我期望2的原因是,按照我的观点,将首先评估右手陈述,将i加1。然后将其加到i。因为我已经是1,所以它将1加1。所以1 + 1 =2。显然,这不是正在发生的事情。 您能解释一下编译器做什么或在运行时发生什么吗?为什么结果为零? 某种免责声明:我绝对知道您不会(也许不应该)使用此代码。我知道我永远不会。不过,我发现知道为什么以这种方式起作用以及正在发生的事情很有趣。
253 c#  .net 

27
自创建数据库以来,支持<Database>上下文的模型已更改
错误消息: “自创建数据库以来,支持'AddressBook'上下文的模型已更改。要么手动删除/更新数据库,要么使用IDatabaseInitializer实例调用Database.SetInitializer。例如,RecreateDatabaseIfModelChanges策略将自动删除并重新创建数据库,并且(可选)用新数据作为种子。” 我正在尝试使用代码优先功能,以下是我写的内容: var modelBuilder = new ModelBuilder(); var model = modelBuilder.CreateModel(); using (AddressBook context = new AddressBook(model)) { var contact = new Contact { ContactID = 10000, FirstName = "Brian", LastName = "Lara", ModifiedDate = DateTime.Now, AddDate = DateTime.Now, Title = "Mr." }; context.contacts.Add(contact); int result = context.SaveChanges(); Console.WriteLine("Result …

13
Google Android会支持.NET吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 现在,带有Google Android OS的G1现已面市(很快),Android平台是否将支持.Net?
253 android  .net  mono 


16
.NET 4.5中的默认SecurityProtocol
与支持最高支持TLS 1.2多少服务器通信的默认安全协议是什么?将.NET在默认情况下,选择支持在服务器端安全性最高的协议或做我必须明确地添加此行代码: System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; 除了更改代码外,还有其他方法可以更改此默认设置吗? 最后,.NET 4.0仅支持最多TLS 1.0?即我必须将客户项目升级到4.5以支持TLS 1.2。 我的动机是SSLv3即使服务器支持它也要删除对客户端的支持(我已经有一个Powershell脚本在计算机注册表中禁用它),并支持服务器支持的最高TLS协议。 更新: 纵观ServicePointManager类.NET 4.0我看不出有什么枚举值TLS 1.0和1.1。两者.NET 4.0/4.5的默认值为SecurityProtocolType.Tls|SecurityProtocolType.Ssl3。希望此默认设置不会因禁用SSLv3注册表而中断。 但是,我已经决定必须将所有应用程序升级到所有应用程序的所有引导代码,.NET 4.5并明确添加SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;它们。 这将向各种api和服务发出出站请求,而不会降级到api,SSLv3因此应选择的最高级别TLS。 这种方法听起来合理还是过度?我有许多应用程序需要更新,我想对它们进行将来的验证,因为我听说TLS 1.0某些提供商甚至可能会在不久的将来弃用这些应用程序。 作为客户端向API发出出站请求时,在注册表中禁用SSL3甚至会对.NET框架产生影响吗?我看到默认情况下未启用TLS 1.1和1.2,我们是否必须通过注册表启用它?RE http://support.microsoft.com/kb/245030。 经过一番调查,我认为注册表设置不会有任何影响,因为它们适用于IIS(服务器子项)和浏览器(客户端子项)。 抱歉,该帖子变成了多个问题,随后给出了“也许”答案。
253 .net  security  ssl 

10
如何使用WPF将文本包装在标签中?
我有一个TextBox和一个标签。单击按钮后,我执行以下代码: label1.Content = textbox1.Text; 我的问题是,如何启用标签的文本环绕?一行上可能显示太多文本,如果是这种情况,我希望它自动换行为多行。
251 c#  .net  wpf  label  word-wrap 


7
C#中“返回等待”的目的是什么?
有没有这样的编写方法的场景: public async Task&lt;SomeResult&gt; DoSomethingAsync() { // Some synchronous code might or might not be here... // return await DoAnotherThingAsync(); } 代替这个: public Task&lt;SomeResult&gt; DoSomethingAsync() { // Some synchronous code might or might not be here... // return DoAnotherThingAsync(); } 会有意义吗? return await当您可以直接Task&lt;T&gt;从内部DoAnotherThingAsync()调用返回时,为什么要使用struct? 我return await在很多地方都看到过代码,我想我可能错过了一些东西。但是据我了解,在这种情况下不使用async / await关键字,而直接返回Task的功能是等效的。为什么要增加额外await层的额外开销?
251 c#  .net  .net-4.5  async-await 


17
如何配置OpenFileDialog选择文件夹?
在VS .NET中,当您为项目选择文件夹时,将显示一个对话框,看起来像一个OpenFileDialog或SaveFileDialog,但设置为仅接受文件夹。自从我看到这一点以来,我一直想知道它是如何完成的。我知道FolderBrowserDialog,但我从未真正喜欢过该对话框。它开始时太小,不能让我利用能够输入路径的优势。 我几乎可以肯定的是,目前尚无从.NET执行此操作的方法,但我也很好奇您也如何从非托管代码中执行此操作。缺少从头开始完全重新实现对话框的方法,如何修改对话框以具有此行为? 我还想重申一下,我知道FolderBrowserDialog,但有时我不喜欢使用它,除了真正好奇如何以这种方式配置对话框。告诉我只使用FolderBrowserDialog可以帮助我保持一致的UI体验,但不能满足我的好奇心,因此它不会被视为答案。 这也不是Vista特有的;自VS .NET 2003以来,我一直在看到此对话框,因此它在Win2k和WinXP中是可行的。这不是一个“我想知道执行此操作的正确方法”的问题,而更多的是“自从我第一次在VS 2003中开始做以来,我一直对此感到好奇”。我知道Vista的文件对话框可以执行此操作,但是它在XP中一直在运行,因此我知道他们做了一些努力使其能够正常工作。Vista特定的答案不是答案,因为问题上下文中不存在Vista。 更新:我接受Scott Wisniewski的答案,因为它附带了一个有效的示例,但是我认为Serge值得赞扬的是他指出了对话框的自定义功能(虽然.NET 确实很讨厌,但它确实有效),而Mark Ransom则指出了MS可能为此任务滚动了一个自定义对话框。

10
HTML.ActionLink方法
假设我有一堂课 public class ItemController:Controller { public ActionResult Login(int id) { return View("Hi", id); } } 在不位于“项目”文件夹ItemController所在的页面上,我想创建该Login方法的链接。那么Html.ActionLink我应该使用哪种方法以及应该传递什么参数呢? 具体来说,我正在寻找方法的替代品 Html.ActionLink(article.Title, new { controller = "Articles", action = "Details", id = article.ArticleID }) 在最近的ASP.NET MVC版本中已停用。

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.