草庐IT

Topic相同分区

全部标签

c# - 为什么静态和非静态方法不能共享相同的签名?

C#提供以下signaturecharacteristics在函数重载时使用。我们知道重载只考虑参数;它们的数量和类型,但多态性的目标是根据调用策略提供相同的名称但不同的用法。如果我有一个类包含两个具有相同名称和签名的方法,而一个是静态的而另一个不是,C#编译器会抛出一个错误;“Classalreadydefinedamembercalled'foo'withthesameparametertypes”.对这两种方法的调用将有所不同;一个带有对象名称,一个带有类名称的静态。因此调用策略没有歧义。那为什么会报错呢?classExample{publicvoidfoo(){}publics

c# - 是否可以创建相同的 guid

是否可以在一个应用程序中创建相同的guidGuidid=Guid.NewGuid(); 最佳答案 从技术上讲,是的。创建的Guid看起来像这样:26de36b7-76f5-4f17-8f9d-44eb429f151b这意味着32个字符可以是字母(26种可能性)或数字(10种可能性)这意味着每个位置有36个可能性,总共36^32,大约是。60000000000000000000000000000000000000000000000000。这意味着,如果您每毫秒创建200000000000000000000000000000000000

c# - 使用 Ninject 注入(inject)实现相同接口(interface)的不同类

我正在实现构建器设计模式来构造要在WPFUI上显示的不同类型的图形对象。我正在使用Ninject作为我的IOC容器。但是,我正试图找到一个优雅的可扩展解决方案。我有一个ChartDirector对象,它将IChartBuilder作为依赖项。我还有实现IChartBuilder的TemperatureChartBuilder和ThresholdChartBuilder。我想根据触发的事件或客户端调用将TemperatureChartBuilder或ThresholdChartBuilder注入(inject)ChartDirector。我在下面的代码中说明了我的问题。//ChartDi

c# - 是否出于与 Try-Catch 相同的原因而谨慎使用 Try-Finally?

我刚看完thisarticle关于异常的优点和缺点,我同意Try-Catchblock不应该用于“正常”控制流管理的观点(不要像goto一样使用它们)。然而,一位作者提出了关于可维护性,尤其是性能的(好的)观点,这让我对Try-Finallyblock中的同一件事感到疑惑。我在我的ASP.NET应用程序中用Try包围每个连接打开事件,这样我就可以确保在Finally中关闭连接。泄漏连接在网络应用程序中显然不是一件好事,我怀疑我会改变这种做法,但你有什么想法?注意:我确实将连接包装在DAL中,并且可以在调用对象析构函数时关闭连接,但这对我来说似乎很粗略。据我所知,您不能指望在发生异常时调

c# - 为什么在 C# 中需要分部方法?可以使用事件来实现相同的目标吗?

我正在阅读“ApressProLINQ:C#中的语言集成查询”这本书,我遇到了部分方法,但我真的不明白它们有什么需要。我觉得书上的例子(变化前后的属性)可以用事件来实现。那么有什么解释吗? 最佳答案 是的,您可以使用事件实现与使用分部方法类似的效果。分部方法实际上只是一种让代码生成者(主要是设计者)为非生成代码生成Hook的方法。事件可以填补这个角色。然而,部分方法相对于事件有一些优势如果没有实现,部分方法调用将完全从生成的IL中删除。这不能通过事件来完成。分部方法的设计是为了解决钩子(Hook)有1个提供者和1个消费者的问题。事件

c# - 在 WPF 中,我可以在 2 个按钮之间共享相同的图像资源吗

我想在WPF中创建一个开/关按钮,我希望它在用户单击它时改变它的外观(如果它是打开的切换到关闭,如果它关闭切换到打开)使用图像。我将要使用的图像添加到资源中:事件代码是,“flag”是一个初始化为true的bool局部变量:privatevoidOnOff1Btn_Click(objectsender,RoutedEventArgse){if(flag){OnOff1Btn.Content=FindResource("Off1");flag=false;}else{OnOff1Btn.Content=FindResource("On1");flag=true;}}现在我需要创建2个开/

c# - 检查两个列表是否有相同的项目

我有如下两个列表,我怎么能说它们具有相同的元素。顺序并不重要。varlist1=newList{1,2,3};varlist2=newList{2,1,3};我怎么能说它们相等呢?我应该编写自己的方法还是有内置方法? 最佳答案 这就是集合(例如HashSet)的用途。集合没有定义的顺序,并且SetEquals验证集合和另一个集合是否包含相同的元素。varset=newHashSet(list1);varequals=set.SetEquals(list2); 关于c#-检查两个列表是否有

c# - 计算linq中两个数组中相同元素的数量

我有2个字符串数组:A1:{"aa","bb","cc","dd","ee"}A2:{"cc","dd,"ee","bla","blu"}如何计算A1和A2之间相同元素的数量(在本例中为3)? 最佳答案 最短的可能是这样的:A1.Intersect(A2).Count() 关于c#-计算linq中两个数组中相同元素的数量,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/101013

检查字典中的某些内容是否与该词典中的最大值相同?

我如何检查字典中的某些内容与该词典中的最大值相同。换句话说,获取所有最大值,而不是最低位置的最大值。我有此代码返回最大变量名称和值:d={'g_dirt4':g_dirt4,'g_destiny2':g_destiny2,'g_southpark':g_southpark,'g_codww2':g_codww2,'g_bfront2':g_bfront2,'g_reddead2':g_reddead2,'g_fifa18':g_fifa18,'g_motogp17':g_motogp17,'g_elderscrolls':g_elderscrolls,'g_crashbandicoot':g_

c# - Windows Phone 应用程序不发送 Cookie,但在 Windows 8 应用程序中使用相同的代码发送 Cookie

我有一个使用HttpWebRequest/HttpWebResponse发出GET和POST请求的基本类。我使用我的类登录API,然后请求数据。在Windows8“Metro”应用程序中,它完全按预期工作。在WindowsPhone8应用程序上,登录似乎成功,但在随后的数据请求中,没有发送任何cookie,服务器响应就好像客户端未登录一样。这是类,在Windows8应用程序和WindowsPhone应用程序中使用了完全相同的代码:classClass1{CookieContainercookieJar=newCookieContainer();CookieCollectionrespo