Questions tagged «c#»

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

7
Windows Forms ProgressBar:启动/停止字幕的最简单方法?
我正在使用C#和Windows窗体。我有一个正常的进度条,可以在程序中正常工作,但是现在我进行了另一项操作,无法轻松计算持续时间。我想显示一个进度条,但不知道启动/停止滚动字幕的最佳方法。我希望能够像设置选取框速度然后具有start()和stop()这样简单的方法,但是它看起来并不那么简单。我是否必须在后台运行一个空循环?我如何最好地做到这一点?谢谢



8
如何比较泛型类型的值?
如何比较泛型类型的值? 我将其简化为最小样本: public class Foo<T> where T : IComparable { private T _minimumValue = default(T); public bool IsInRange(T value) { return (value >= _minimumValue); // <-- Error here } } 错误是: 运算符'> ='不能应用于类型'T'和'T'的操作数。 到底怎么回事!?T已被约束到IComparable,甚至它限制值类型(的时候where T: struct),我们仍然不能将任何运营商<,>,<=,>=,==或!=。(我知道涉及和的变通办法Equals()存在,但对关系运算符没有帮助)。==!= 因此,有两个问题: 为什么我们观察到这种奇怪的行为?是什么让我们从比较这是泛型类型的值称为是IComparable?难道不以某种方式破坏了通用约束的全部目的吗? 我该如何解决这个问题,或者至少要解决它? (我意识到已经有一些问题与这个看似简单的问题有关,但是没有一个线程给出详尽或可行的答案,所以在这里。)

1
在ItemsControl DataTemplate中设置Canvas属性
我正在尝试与此绑定ItemsControl: <ItemsControl ItemsSource="{Binding Path=Nodes, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <Canvas /> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> </ItemsControl> 通过使用this DataTemplate,我试图将Node元素分别Canvas正确放置在正确的位置: <DataTemplate DataType="{x:Type Model:EndNode}"> <Controls:EndNodeControl Canvas.Left="{Binding Path=XPos}" Canvas.Top="{Binding Path=YPos}" /> </DataTemplate> 但是,它没有按预期工作。我所有的节点元素都在同一位置绘制在一起。关于如何做到这一点的任何建议?
79 c#  wpf  xaml  canvas  itemscontrol 

2
C#6如何使用插值字符串格式化双精度格式?
我已经使用了C#6 incl的一些新功能。内插字符串,以简化用法(显示包含$“ {EmployeeName},{Department}”之类的字符串变量的消息)。 现在,我想使用插值字符串显示格式化的双精度值。 例 var aNumberAsString = aDoubleValue.ToString("0.####"); 如何将其写为插值字符串?类似于$“ {aDoubleValue} ....”

4
如何将System.Type转换为其可为空的版本?
再说一遍:“是否有一种比我的助手方法更简单的内置处理方式?” 因此从可为空的类型中获取基础类型很容易,但是如何获取.NET类型的可为空的版本呢? 所以我有 typeof(int) typeof(DateTime) System.Type t = something; 而且我要 int? DateTime? 要么 Nullable<int> (which is the same) if (t is primitive) then Nullable<T> else just T 有内置方法吗?
79 c#  .net 

25
不包含适用于入口点的静态“ main”方法
我开始将我的代码整理到单独的.cs文件中,为了让与UI一起使用的方法能够继续这样做,我将在相同的命名空间和公共部分类名称下创建.cs代码,以便这些方法可以互操作。 我的标头看起来像四个文件,包括我的主核心文件,该文件调用: public shell() { InitializeComponent(); } 与UI一起使用的.cs文件的标题区域(似乎正在引起这种新的冲突): using System; using System.Windows.Forms; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.IO; using System.Data.SqlServerCe; using System.Diagnostics; using System.Threading; using System.Collections.Specialized; using System.Net; using System.Runtime.InteropServices; using watin = WatiN.Core; using WatiN.Core.Native.InternetExplorer; using System.Web; namespace WindowsFormsApplication1 …

2
EF代码优先:如何获取随机行
如何建立查询以检索随机行? 如果我要用SQL编写它,那么我将对newid()进行排序,并从顶部砍掉n行。无论如何要先在EF代码中执行此操作? 我尝试创建使用newid()的查询并使用DbSet.SqlQuery()执行它。虽然有效,但并不是最干净的解决方案。 另外,尝试检索所有行并按新的GUID对它们进行排序。尽管行数很小,但是它仍然不是一个好的解决方案。 有任何想法吗?

4
如何检查枚举是否包含数字?
我有一个这样的枚举: public enum PromotionTypes { Unspecified = 0, InternalEvent = 1, ExternalEvent = 2, GeneralMailing = 3, VisitBased = 4, PlayerIntroduction = 5, Hospitality = 6 } 我想检查此枚举是否包含我提供的数字。例如:当我给出4时,Enum包含该值,因此我想返回True,如果我给出7,则此Enum中没有7,因此它返回False。我尝试了Enum.IsDefine,但它仅检查String值。我怎样才能做到这一点?
79 c#  .net  enums 

8
延迟加载与急切加载
实体框架中的延迟加载是加载和访问相关实体时发生的默认现象。但是,急切加载是指对所有这些关系强制加载的做法。我遇到了一个问题:在什么情况下,优先加载比延迟加载更有利。提出这个问题,因为很明显,延迟加载对资源更友好,即使我们使用该ToList()方法,我们仍然可以利用延迟加载行为。但是,我认为延迟加载可能会增加对实际数据库的请求数量,这也许就是为什么有时开发人员使用Inlcude强制加载所有关系的方法。例如,当在MVC 5中使用Visual Studio自动脚手架时,在控制器中自动创建的Index方法始终使用“急切加载”,而我一直有一个问题,为什么Microsoft在这种情况下默认使用“急切加载”。 如果有人向我解释在什么情况下,优先加载比延迟加载更有利,以及在有比延迟加载更友好的资源的情况下我们为什么要使用它,我将不胜感激。


4
Func <string,string>和委托之间有什么区别?
我看到代表有两种形式: A. Func&lt;string, string&gt; convertMethod = lambda B. public delegate string convertMethod(string value); 我不确定这两者之间到底有什么区别。他们都是代表吗?我相信第一个将使用lambda,第二个将必须具有实际执行工作的方法。我可能也会感到困惑。
79 c#  asp.net  delegates  lambda 

6
我如何获得Bin Path?
我需要执行程序集的bin路径。你怎么得到的?我在Bin / Debug中有一个文件夹Plugins,我需要获取位置
79 c#  .net 

8
C#Linq其中两个日期之间的日期
我正在尝试获取linq语句以获取两个日期之间的所有记录,但我不确定要使其正常工作需要进行哪些更改: (a.Start &gt;= startDate &amp;&amp; endDate) var appointmentNoShow = from a in appointments from p in properties from c in clients where a.Id == p.OID &amp;&amp; (a.Start.Date &gt;= startDate.Date &amp;&amp; endDate)
79 c#  linq 

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.