Questions tagged «c#»

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

11
使用C#将时间跨度值转换为格式“ hh:mm Am / Pm”
我有一个存储在类型变量中的值System.TimeSpan,如下所示。 System.TimeSpan storedTime = 03:00:00; 我可以String按如下方式将其重新存储在另一个类型的变量中吗? String displayValue = "03:00 AM"; 如果storedTime变量的值为 storedTime = 16:00:00; 然后应将其转换为: String displayValue = "04:00 PM";
80 c#  .net 

12
几秒钟后关闭MessageBox
我有一个Windows Forms应用程序VS2010 C#,在其中显示用于显示消息的MessageBox。 我有一个好的按钮,但是如果他们走开,我想超时并在允许说5秒钟后关闭消息框,然后自动关闭消息框。 有自定义的MessageBox(从Form继承)或另一个报告程序Forms,但是有趣的是不必使用Form。 有任何建议或样品吗? 更新: 对于WPF, 在C#中自动关闭消息框 自定义MessageBox(使用表单继承) http://www.codeproject.com/Articles/17253/A-Custom-Message-Box http://www.codeproject.com/Articles/327212/Custom-Message-Box-in-VC http://tutplusplus.blogspot.com.es/2010/07/c-tutorial-create-your-own-custom.html http://medmondson2011.wordpress.com/2010/04/07/easy-to-use-custom-c-message-box-with-a-configurable-checkbox/ 可滚动 的消息框C#中的可滚动的消息框 异常报告器 /programming/49224/good-crash-reporting-library-in-c-sharp http://www.codeproject.com/Articles/6895/A-Reusable-Flexible-Error-Reporting-Framework 解: 也许我认为以下答案是很好的解决方案,无需使用表格。 https://stackoverflow.com/a/14522902/206730 https://stackoverflow.com/a/14522952/206730

9
有没有一种方法可以强制将所有引用的程序集加载到应用程序域中?
我的项目是这样设置的: 项目“定义” 项目实施” 项目“消费者” 项目“消费者”同时引用了“定义”和“实施”,但是没有静态引用“实施”中的任何类型。 当应用程序启动时,“消费者”项目将在“定义”中调用一个静态方法,该方法需要在“实施”中查找类型 有没有一种方法可以强制将任何引用的程序集加载到App Domain中,而无需知道路径或名称,并且最好不必使用成熟的IOC框架?

6
成员名称不能与其封闭类型C#相同
下面的代码在C#中,并且我正在使用Visual Studio 2010。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; namespace FrontEnd { class Flow { long i; private int x,y; public int X { get;set; } public int Y { get;set; } private void Flow() { X = x; Y = y; } public void NaturalNumbers(int …
80 c# 

5
如何确定异常是否属于特定类型
我有一段try catch代码: try { ... } catch(Exception ex) { ModelState.AddModelError( "duplicateInvoiceNumberOrganisation", "The combination of organisation and invoice number must be unique"); } 对于这段代码,我试图将记录插入数据库:dba对其进行了设置,以便数据库检查重复项,如果存在重复项,则返回错误。如您所见,当前,无论发生什么错误,我都将相同的错误添加到模型中。我希望它已更改,因此,如果该错误是由dba设置的重复错误引起的,则仅将其添加到模型中。 以下是我要捕获的错误。请注意,这是内部异常。谁能告诉我如何特别抓到这个?


11
检查null并分配另一个值的最短方法
我正在将varchar值从数据库中提取出来,如果要设置的话,string我想将其分配为“” null。我目前正在这样做: if (string.IsNullOrEmpty(planRec.approved_by) == true) this.approved_by = ""; else this.approved_by = planRec.approved_by.toString(); 似乎应该有一种方法可以像这样: this.approved_by = "" || planRec.approved_by.toString(); 但是,我找不到实现此目的的最佳方法。有没有更好的方法,或者我有最好的方法吗?


25
名称<…>在命名空间clr-namespace <…>中不存在
我有一个小的WPF应用程序,该应用程序过去可以正常编译,但现在不再编译。我真的不能说停止建造的时间。一天工作得很好,而第二天就不好了。 这是项目结构: 除标准.net dll之外,没有其他项目或外部引用。 这是问题产生的用户控件: &lt;UserControl x:Class="TimeRecorder.HistoryUserControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:TimeRecorder.ViewModel" xmlns:framework="clr-namespace:TimeRecorder.Framework" mc:Ignorable="d" Height="Auto" Width="Auto" Padding="5"&gt; &lt;UserControl.Resources&gt; &lt;local:HistoryViewModel x:Key="ViewModel"/&gt; &lt;framework:BoolToColorConverter x:Key="ColorConverter"/&gt; &lt;/UserControl.Resources&gt; &lt;StackPanel DataContext="{StaticResource ViewModel}"&gt; 这是我得到的错误: 请注意,这不仅是屏幕截图中的一个文件,而且是我在该项目中所有用户控件/窗口文件中以类似方式在xaml中添加的所有引用。 因此,该文件在那里,文件中的名称空间正确,而xaml文件中的名称空间/类名称(据我所知)是正确的。当我输入xaml时,我得到了智能感知,因此它可以正常地找到文件,但编译时却找不到。 在其他文章中,最常见的解决方案是.net框架版本。对于我的主要项目和测试项目,当前都将其设置为.Net Framework 4。完整版本不是客户端配置文件。 这是我想弄清楚的事情: 在配置管理器中,两个项目的Platform都设置为Any CPU,但是在尝试解决这一问题时,我注意到主项目设置为x86,测试项目设置为Any。中央处理器。因此,我在配置管理器中为主项目手动添加了任何CPU。但是,老实说,我不知道我是否正确地做到了,或者即使我应该这样做。因此,还有一个问题,是否可以将配置管理器重置为其默认状态?对于主要问题,这有什么要说的吗?我不知道主项目是否总是设置为x86,或者我是否以某种方式将其更改为x86,然后它坏了。如前所述,该项目可以编译一段时间。
80 c#  .net  wpf  xaml  namespaces 

9
加号查询字符串
我有一个使用C#和asp.net创建的webapp。我将参数值放在带有加号(+)的查询字符串中。但是加号消失了。 如何在查询字符串中包含加号(+)而不会消失? 请指教。 谢谢。 编辑:使用UrlEncode添加代码 string str = Server.UrlEncode(Requery.QueryString["new"]);
80 c#  javascript  asp.net 

5
System.Collections.Generic.IEnumerable”不包含“ ToList”的任何定义
这是问题所在。我从ViewPage获取IEnumerable,当我尝试将其转换为List时,它显示出如下错误: ' System.Collections.Generic.IEnumerable&lt;Pax_Detail&gt;'不包含'ToList'的定义,找不到扩展方法'ToList'接受类型为' System.Collections.Generic.IEnumerable&lt;Pax_Detail&gt;'的第一个参数(是否缺少using指令或程序集引用?) 这是我的控制器代码: [HttpPost] public ActionResult Edit_Booking(Booking model, IEnumerable&lt;Pax_Detail&gt; pax) { List&lt;Pax_Detail&gt; paxList = new List&lt;Pax_Detail&gt;(); paxList = pax.ToList(); //getting error here BookingDL.Update_Booking(model, paxList); return View(); } 我在另一个控制器上应用了相同的逻辑。而且工作正常。我不知道有什么问题。我已经清理过,重建了项目,还重新启动了笔记本电脑(尽管这是必需的)。
80 c#  asp.net-mvc-3 

6
如何在Dapper.Net中编写一对多查询?
我已经编写了这段代码来设计一对多关系,但是它不起作用: using (var connection = new SqlConnection(connectionString)) { connection.Open(); IEnumerable&lt;Store&gt; stores = connection.Query&lt;Store, IEnumerable&lt;Employee&gt;, Store&gt; (@"Select Stores.Id as StoreId, Stores.Name, Employees.Id as EmployeeId, Employees.FirstName, Employees.LastName, Employees.StoreId from Store Stores INNER JOIN Employee Employees ON Stores.Id = Employees.StoreId", (a, s) =&gt; { a.Employees = s; return a; }, splitOn: "EmployeeId"); foreach …
80 c#  .net  dapper 

10
什么时候ReaderWriterLockSlim比简单的锁好?
我用这段代码在ReaderWriterLock上做了一个非常愚蠢的基准测试,其中读取发生的频率比写入高4倍: class Program { static void Main() { ISynchro[] test = { new Locked(), new RWLocked() }; Stopwatch sw = new Stopwatch(); foreach ( var isynchro in test ) { sw.Reset(); sw.Start(); Thread w1 = new Thread( new ParameterizedThreadStart( WriteThread ) ); w1.Start( isynchro ); Thread w2 = new Thread( …

11
如果ModelState.IsValid失败,会得到错误消息?
我的控制器中有此功能。 [HttpPost] public ActionResult Edit(EmployeesViewModel viewModel) { Employee employee = GetEmployee(viewModel.EmployeeId); TryUpdateModel(employee); if (ModelState.IsValid) { SaveEmployee(employee); TempData["message"] = "Employee has been saved."; return RedirectToAction("Details", new { id = employee.EmployeeID }); } return View(viewModel); // validation error, so redisplay same view } 它不断失败,ModelState.IsValid不断返回false并重新显示视图。但是我不知道错误是什么。 有没有办法得到错误并重新显示给用户?

4
编译32位和64位时性能差异巨大(快26倍)
我试图衡量访问值类型和引用类型列表时使用afor和a的区别foreach。 我使用以下类进行分析。 public static class Benchmarker { public static void Profile(string description, int iterations, Action func) { Console.Write(description); // Warm up func(); Stopwatch watch = new Stopwatch(); // Clean up GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); watch.Start(); for (int i = 0; i &lt; iterations; i++) { func(); } watch.Stop(); Console.WriteLine(" average time: …

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.