Questions tagged «c#»

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

4
在Dapper.NET中调整CommandTimeout?
我正在尝试通过Dapper通过存储过程运行SQL备份(我的应用程序的其余部分使用Dapper,因此我也希望通过它运行该部分)。直到CommandTimeout生效,它才能正常工作。 using (var c = SqlConnection(connstring)) { c.Open(); var p = new DynamicParameters(); // fill out p c.Execute("xp_backup_database", p, commandType: CommandType.StoredProcedure); } 我知道的唯一CommandTimeout设置在SqlCommand中。有没有一种方法可以通过Dapper进行设置?
92 c#  .net  timeout  dapper 

10
C#-使用属性名称作为字符串按属性排序的代码
当属性名称为字符串时,对C#中的属性进行编码的最简单方法是什么?例如,我想允许用户通过他们选择的属性(使用LINQ)对某些搜索结果进行排序。他们将在UI中选择“ order by”属性-当然是字符串值。有没有一种方法可以直接使用该字符串作为linq查询的属性,而不必使用条件逻辑(如果/否则,切换)将字符串映射到属性。反射? 从逻辑上讲,这就是我想要做的: query = query.OrderBy(x => x."ProductId"); 更新:我最初没有指定我正在使用Linq to Entities-看来反射(至少是GetProperty,GetValue方法)不能转换为L2E。

3
如何确保FirstOrDefault <KeyValuePair>返回了一个值
这是我正在尝试做的简化版本: var days = new Dictionary&lt;int, string&gt;(); days.Add(1, "Monday"); days.Add(2, "Tuesday"); ... days.Add(7, "Sunday"); var sampleText = "My favorite day of the week is 'xyz'"; var day = days.FirstOrDefault(x =&gt; sampleText.Contains(x.Value)); 由于字典中不存在“ xyz”,因此FirstOrDefault方法将不会返回有效值。我希望能够检查这种情况,但是我意识到我无法将结果与“ null”进行比较,因为KeyValuePair是一个结构。以下代码无效: if (day == null) { System.Diagnotics.Debug.Write("Couldn't find day of week"); } 我们您尝试编译代码,Visual Studio引发以下错误: Operator '==' cannot …
91 c#  linq 


8
实体框架迁移中必填字段的默认值?
我已经将[Required]数据注释添加到ASP.NET MVC应用程序中的其中一个模型中。创建迁移后,运行Update-Database命令将导致以下错误: 无法将值NULL插入表'MOVIES_cf7bad808fa94f89afa2e5dae1161e78.dbo.Movies'的“ Director”列中;列不允许为空。更新失败。该语句已终止。 这是由于某些记录的Director列中包含NULL 。如何将这些值自动更改为某些默认值(例如“ John Doe”)导演? 这是我的模型: public class Movie { public int ID { get; set; } [Required] public string Title { get; set; } [DataType(DataType.Date)] public DateTime ReleaseDate { get; set; } [Required] public string Genre { get; set; } [Range(1,100)] [DataType(DataType.Currency)] public decimal Price { …


4
浮动vs双重表现
我做了一些计时测试,还读了一些类似这样的文章(最后评论),在Release build中,float和double值看起来花费了相同的处理时间。 这怎么可能?当float比double值精度低且较小时,CLR如何在相同的处理时间内将double值加倍?
91 c#  .net  clr  performance 


3
“ LINQ to Entities”,“ LINQ to SQL”和“ LINQ to Dataset”之间有什么区别
我已经在LINQ工作了很长时间了。但是,提到的LINQ口味之间的真正区别是什么仍然是个谜。 成功的答案将包括它们之间的简短区别。每种口味的主要目标是什么,好处是什么,并且对性能有影响吗? PS:我知道那里有很多信息源,但是我正在寻找一种“备忘单”,它指示新手去往特定目标的方向。
91 c#  sql  linq  dataset  entities 




5
引发并捕获该异常时,不要在该异常时停止调试器
在工具/异常中,我设置了在引发异常时调试器停止的选项。是否被抓住。 如何排除该规则的例外?我的代码中某个地方有一个捕获的异常,它是程序逻辑的一部分。因此,我显然不希望该异常在每次被击中时都停止调试器。 示例:我想忽略第344行的nullreference异常(已捕获)。我想停止其他所有例外

3
用var / null奇怪的行为切换
给出以下代码: string someString = null; switch (someString) { case string s: Console.WriteLine("string s"); break; case var o: Console.WriteLine("var o"); break; default: Console.WriteLine("default"); break; } 为什么switch语句匹配case var o? 我的理解是case string s不匹配的,s == null因为(有效)(null as string) != null评估为假。VS Code上的IntelliSense告诉我这o也是一个string。有什么想法吗? 类似于:使用空检查的C#7切换大小写

10
Windows Phone 7模拟器上触发两次TextBox.TextChanged事件
我有一个非常简单的测试应用程序,可以与Windows Phone 7一起使用。我刚刚在标准UI模板中添加了TextBox和TextBlock。唯一的自定义代码如下: public partial class MainPage : PhoneApplicationPage { public MainPage() { InitializeComponent(); } private int counter = 0; private void TextBoxChanged(object sender, TextChangedEventArgs e) { textBlock1.Text += "Text changed " + (counter++) + "\r\n"; } } 该TextBox.TextChanged事件连接到TextBoxChangedXAML中: &lt;TextBox Height="72" HorizontalAlignment="Left" Margin="6,37,0,0" Name="textBox1" Text="" VerticalAlignment="Top" Width="460" TextChanged="TextBoxChanged" /&gt; 但是,每当我在仿真器中运行时按一次键(屏幕键盘或物理键盘,都已按Pause键以启用后者),它将使计数器递增两次,并在中显示两行TextBlock。我尝试过的一切都表明该事件确实触发了两次,我也不知道为什么。我已经验证它仅被订阅一次-如果我在MainPage构造函数中取消订阅,则在文本更改时(文本块)完全没有任何反应。 …

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.