Questions tagged «c#»

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

6
ArraySegment <T>类的用途是什么?
我只是ArraySegment&lt;byte&gt;在子MessageEncoder类化时遇到了类型。 我现在知道这是给定数组的一部分,具有偏移量,不可枚举,并且没有索引器,但是我仍然无法理解其用法。有人可以举例说明吗?
97 c#  arrays  .net 


5
授权具有多个角色的属性
我想一次为多个角色的控制器添加授权。 通常情况如下: [Authorize(Roles = "RoleA,RoleB,RoleC")] public async Task&lt;ActionResult&gt; Index() { } 但是我将我的角色存储在const中,因为它们有时可能会更改或扩展。 public const RoleA = "RoleA"; public const RoleB = "RoleB"; public const RoleC = "RoleC"; 我不能这样做,因为必须在编译时知道该字符串: [Authorize(Roles = string.join(",",RoleA,RoleB,RoleC)] public async Task&lt;ActionResult&gt; Index() { } 有办法解决这个问题吗? 我可以编写一个仅包含“ RoleA,RoleB,RoleC”的const-但我不喜欢魔术字符串,这是一个魔术字符串。更改角色名称而忘记更改组合字符串将是一场灾难。 我正在使用MVC5。在编译时就知道ASP.NET身份和角色。

3
在C#中,类中的析构函数和Finalize方法之间有什么区别?
类中的析构函数和Finalize方法之间有什么区别(如果有)? 我最近发现Visual Studio 2008将析构函数视为Finalize方法的同义词,这意味着Visual Studio不允许您同时在类中定义这两个方法。 例如,以下代码片段: class TestFinalize { ~TestFinalize() { Finalize(); } public bool Finalize() { return true; } } 调用析构函数中的Finalize时出现以下错误: 该调用在以下方法或属性之间是不明确的:'​​TestFinalize。〜TestFinalize()'和'TestFinalize.Finalize()' 并且,如果对Finalize的调用已被注释掉,则会出现以下错误: 类型“ ManagementConcepts.Service.TestFinalize”已经定义了具有相同参数类型的名为“ Finalize”的成员



11
如何以最佳方式替换列表项
if (listofelements.Contains(valueFieldValue.ToString())) { listofelements[listofelements.IndexOf(valueFieldValue.ToString())] = value.ToString(); } 我已经像上面一样替换了。除此以外,还有其他最佳方法吗?
97 c# 

18
如何用字符串值定义一个枚举?
我试图定义一个,Enum并添加在CSV或类似文件中使用的有效通用分隔符。然后,我将其绑定到ComboBox作为数据源,因此,无论何时在Enum定义中添加或删除,都无需在组合框中进行任何更改。 问题是如何用字符串表示形式定义枚举,例如: public enum SeparatorChars{Comma = ",", Tab = "\t", Space = " "}
97 c#  string  enums 

3
Linq语法-选择多个列
这是我在实体模型中使用的Linq语法 IQueryable&lt;string&gt; objEmployee = null; objEmployee = from res in _db.EMPLOYEEs where (res.EMAIL == givenInfo || res.USER_NAME == givenInfo) select res.EMAIL; 如何选择多列?就像我想选择res.ID一样。我怎么能收到这些呢?我认为IQueryable无法正常工作。这就是所谓的Linq to SQL,对吗?




6
如何使用IEqualityComparer
我的数据库中有一些铃铛号相同。我希望所有这些都没有重复。我创建了一个compare类来完成这项工作,但是该函数的执行会导致该函数的延迟很大,没有区别,从0.6秒到3.2秒! 我做对了还是必须使用其他方法? reg.AddRange( (from a in this.dataContext.reglements join b in this.dataContext.Clients on a.Id_client equals b.Id where a.date_v &lt;= datefin &amp;&amp; a.date_v &gt;= datedeb where a.Id_client == b.Id orderby a.date_v descending select new Class_reglement { nom = b.Nom, code = b.code, Numf = a.Numf, }) .AsEnumerable() .Distinct(new Compare()) .ToList()); class Compare …

7
C#DateTime.Now精度
在执行一些单元测试时,我只是遇到了DateTime.UtcNow一些意外的行为。看来,当您快速连续调用DateTime.Now/UtcNow时,似乎可以在比预期更长的时间间隔内返回相同的值,而不是捕获更精确的毫秒增量。 我知道有一个秒表类更适合进行精确的时间测量,但是我很好奇是否有人可以在DateTime中解释这种行为?是否有记录DateTime.Now的官方精度(例如,精度在50毫秒内?)?为什么将DateTime.Now设置为比大多数CPU时钟所能处理的精度低?也许它是专为最低公分母设计的? public static void Main(string[] args) { var stopwatch = new Stopwatch(); stopwatch.Start(); for (int i=0; i&lt;1000; i++) { var now = DateTime.Now; Console.WriteLine(string.Format( "Ticks: {0}\tMilliseconds: {1}", now.Ticks, now.Millisecond)); } stopwatch.Stop(); Console.WriteLine("Stopwatch.ElapsedMilliseconds: {0}", stopwatch.ElapsedMilliseconds); Console.ReadLine(); }

6
GetProperties()返回接口继承层次结构的所有属性
假设以下假设继承层次结构: public interface IA { int ID { get; set; } } public interface IB : IA { string Name { get; set; } } 使用反射并进行以下调用: typeof(IB).GetProperties(BindingFlags.Public | BindingFlags.Instance) 只会产生interface的属性IB,即“ Name”。 如果我们要对以下代码进行类似的测试, public abstract class A { public int ID { get; set; } } public class B : A …
97 c#  .net  reflection 

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.