小编Oli*_*bes的帖子

ObservableCollection和BindingList之间的区别

我想知道它们之间的区别ObservableCollection,BindingList因为我已经使用了两者来通知Source中的任何添加/删除更改,但实际上我不知道何时更喜欢一个而不是另一个.

为什么我会选择以下其中一个而不是另一个?

ObservableCollection<Employee> lstEmp = new ObservableCollection<Employee>();
Run Code Online (Sandbox Code Playgroud)

要么

BindingList<Employee> lstEmp = new BindingList<Employee>();
Run Code Online (Sandbox Code Playgroud)

.net c# wpf observablecollection wpf-4.0

234
推荐指数
3
解决办法
6万
查看次数

什么是垂直标签?

垂直制表符的原始历史用法是什么(\v在C语言中,ASCII 11)?

键盘上有钥匙吗?有人是如何生成它的?

是否有任何语言或系统仍在使用,垂直制表符会做一些有趣和有用的事情?

ascii character character-encoding special-characters

196
推荐指数
6
解决办法
11万
查看次数

Visual Studio禁用缺少XML注释警告

我有一个超过500个Missing XML Comment警告的项目.我知道我可以删除XML注释功能,或者在任何地方粘贴空注释片段,但我更喜欢通用的解决方案,我可以进行一次更改,禁用此类型的所有警告.

我现在所做的就是投入

///<Summary>
/// 
///</Summary>
Run Code Online (Sandbox Code Playgroud)

要么

#pragma warning disable 1591
Run Code Online (Sandbox Code Playgroud)

如果可能的话,只是好奇.

visual-studio-2010 xml-comments

183
推荐指数
5
解决办法
8万
查看次数

如果为空查询,则返回最大值

我有这个问题:

int maxShoeSize = Workers
    .Where(x => x.CompanyId == 8)
    .Max(x => x.ShoeSize);
Run Code Online (Sandbox Code Playgroud)

maxShoeSize如果公司8根本没有工人,那将会是什么?

更新:
如何更改查询以获得0而不是异常?

.net c# linq lambda entity-framework

151
推荐指数
6
解决办法
5万
查看次数

从x到y的共变阵列转换可能会导致运行时异常

我有一个s()private readonly列表.我稍后在此列表中添加s并将这些标签添加到以下内容中:LinkLabelIList<LinkLabel>LinkLabelFlowLayoutPanel

foreach(var s in strings)
{
    _list.Add(new LinkLabel{Text=s});
}

flPanel.Controls.AddRange(_list.ToArray());
Run Code Online (Sandbox Code Playgroud)

Resharper给我一个警告:Co-variant array conversion from LinkLabel[] to Control[] can cause run-time exception on write operation.

请帮我弄明白:

  1. 这意味着什么?
  2. 这是一个用户控件,多个对象不会访问它来设置标签,因此保持代码不会影响它.

c# .net-4.0 covariance winforms

135
推荐指数
5
解决办法
3万
查看次数

为什么我们需要new关键字,为什么要隐藏而不是覆盖默认行为?

我正在看这篇博文,并有以下问题:

  • 为什么我们需要new关键字,只是指定隐藏基类方法.我的意思是,为什么我们需要它?如果我们不使用override关键字,是不是我们隐藏了基类方法?
  • 为什么隐藏C#中的默认值而不是覆盖?为什么设计师会这样实现它?

c# overriding

79
推荐指数
4
解决办法
2万
查看次数

使用反射按声明顺序获取属性

我需要按照在类中声明它们的顺序使用反射来获取所有属性.根据MSDN,使用时无法保证订单GetProperties()

GetProperties方法不以特定顺序返回属性,例如按字母顺序或声明顺序.

但我已经读过,通过订购属性有一个解决方法MetadataToken.所以我的问题是,这样安全吗?我似乎无法在MSDN上找到有关它的任何信息.或者有没有其他方法来解决这个问题?

我目前的实施情况如下:

var props = typeof(T)
   .GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
   .OrderBy(x => x.MetadataToken);
Run Code Online (Sandbox Code Playgroud)

c# reflection properties getproperties

73
推荐指数
5
解决办法
3万
查看次数

为什么[Owin]在新项目上抛出空例外?

我有一个相当奇怪的问题,我不知道如何解决或者我是否能解决它.

我已经对这个问题进行了一些研究,但无法找到导致问题的答案.

我正在http://www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-并遵循一个相当简单的指南-openid点登录

启用SSL并更改controller为要求https后,我收到以下错误:

'/'应用程序中的服务器错误.

你调用的对象是空的.

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息:System.NullReferenceException:未将对象引用设置为对象的实例.

来源错误:

在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.

堆栈跟踪:

[NullReferenceException:对象引用未设置为对象的实例.]
Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.Exception(CookieExceptionContext context)+49
Microsoft.Owin.Security.Cookies.d__2.MoveNext()+3698 System.Runtime .CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务task)+93
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务task)+52 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()+24 Microsoft.Owin.Security.Infrastructure. d__0.MoveNext()810个System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务task)+93
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务task)+52 System.Runtime.CompilerServices.TaskAwaiter.GetResult()+21 Microsoft.Owin.Security.Infrastructure.d__0.MoveNext()+ 427 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)+93
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(T 请求任务)+52 System.Runtime.CompilerServices.TaskAwaiter.GetResult()+ 21 Microsoft.AspNet.Identity.Owin.d__0.MoveNext()+641 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)+93
System. Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务task)+52 System.Runtime.CompilerServices.TaskAwaiter.GetResult()+21 Microsoft.AspNet.Identity.Owin.d__0.MoveNext()641 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (任务task)+93
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务task)+52 System.Runtime.CompilerServices.TaskAwaiter.GetResult()+21 Microsoft.AspNet.Identity.Owin.d__0.MoveNext()641系统.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务task)+93
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务task)+52 System.Runtime.CompilerServices.TaskAwaiter.GetResult()+21 Microsoft.Owin.Host.SystemWeb. IntegratedPipeline.d__5.MoveN EXT()287个System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务task)+93
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务task)+52 System.Runtime.CompilerServices.TaskAwaiter.GetResult()+21微软. Owin.Host.SystemWeb.IntegratedPipeline.d__2.MoveNext()+272 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()+22 Microsoft.Owin.Host.SystemWeb.Infrastructure.ErrorState.Rethrow()+33 Microsoft.Owin.Host .SystemWeb.IntegratedPipeline.StageAsyncResult.End(IAsyncResult ar)+150
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.EndFinalWork(IAsyncResult ar)+42
System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +415 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&completedSynchronously)+155

版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.34237

关闭SSL修复这个问题,我也知道,注释掉startup.authapp_start修复的问题SSL …

c# nullreferenceexception owin

50
推荐指数
4
解决办法
1万
查看次数

值的默认参数必须是编译时常量?

这是我的方法签名.尝试传递end作为可选参数时,它会给我这个错误.我该怎么做才能解决这个问题?为什么不是DateTime.MinValue一个常数?

public static void DatesToPeriodConverter(DateTime start, DateTime end = DateTime.MinValue,
                                          out string date, out string time)
Run Code Online (Sandbox Code Playgroud)

.net c# parameters

48
推荐指数
4
解决办法
5万
查看次数

拆分具有空格的字符串,除非它们包含在"引号"中?

简单来说:

string streamR = sr.ReadLine();  // sr.Readline results in:
                                 //                         one "two two"
Run Code Online (Sandbox Code Playgroud)

我希望能够将它们保存为两个不同的字符串,删除所有空格除了引号之间的空格.因此,我需要的是:

string 1 = one
string 2 = two two
Run Code Online (Sandbox Code Playgroud)

到目前为止,我发现有效的是以下代码,但它删除了引号内的空格.

//streamR.ReadLine only has two strings
  string[] splitter = streamR.Split(' ');
    str1 = splitter[0];
    // Only set str2 if the length is >1
    str2 = splitter.Length > 1 ? splitter[1] : string.Empty;
Run Code Online (Sandbox Code Playgroud)

这个的输出变成了

one
two
Run Code Online (Sandbox Code Playgroud)

我已经研究过正则表达式来分隔空格,除非引用但是我似乎无法获得正则表达式来工作/理解代码,特别是如何分割它们以便它们是两个不同的字符串.那里的所有代码都给我一个编译错误(我正在使用System.Text.RegularExpressions)

c# split

46
推荐指数
4
解决办法
3万
查看次数