草庐IT

The_constant_pool

全部标签

c# - 我可以将 C# 函数标记为 "this function does not enumerate the IEnumerable parameter"吗?

同一可枚举的多次枚举对我们来说一直是一个性能问题,因此我们尝试在代码中消除这些警告。但是我们有一个通用的扩展函数来抛出空参数异常,它会生成很多这样的警告。它的签名看起来像这样:publicstaticvoidVerifyArgumentIsNotNull(thisTvalue,stringvalueName)whereT:class它所做的只是检查null并抛出一个格式良好且本地化(对于当时正在使用的任何人类语言)的异常。当此函数用于IEnumerable参数时,它会使代码分析警告IEnumerable可能的多次迭代,因为分析器不知道该函数的作用。我想在这个函数上加上一些标签,上面写着

c# - 错误 :An unknown error occurred while invoking the service metadata component. 无法生成服务引用

当尝试使用.netcore2.1rc1为WCF添加服务引用时,我遇到以下错误:Error:Anunknownerroroccurredwhileinvokingtheservicemetadatacomponent.Failedtogenerateservicereference我已经检查过,唯一的安全措施是传输,没有消息安全措施。日志如下:[05/24/201812:28:28],59,Importingwebservicemetadata...[05/24/201812:28:28],27,Numberofserviceendpointsfound:2[05/24/201812:2

c# - long vs Guid for the Id (Entity),优缺点是什么

我正在asp.netmvc上做一个网络应用程序,我正在为我的实体在long和Guid数据类型之间进行选择,但我不知道哪个更好。有人说long快得多。Guid也可能有一些优势。有人知道吗? 最佳答案 什么时候GUID可能不合适GUID几乎总是会变慢,因为它们更大。这会使您的索引更大。这使您的表更大。这意味着如果您必须全部或部分扫描您的表,将花费更长的时间并且您将看到更少的性能。这是基于报告的系统中的一个巨大问题。例如,永远不会将GUID用作事实表中的外键,因为它的长度通常很重要,因为通常会部分扫描事实表以生成聚合。还要考虑使用“lon

C#/WPF : Binding Combobox ItemSource in Datagrid to element outside of the DataContext

我想做以下事情:publicListPreLoadedUserList{get;set;}publicListSomeDataRowList{get;set;}publicclassUsers{publicintAge{get;set;}publicstringName{get;set;}}publicclassSomeDataRowList{publicintUserAge{get;set;}现在我的(WPF工具包)DataGrid看起来像这样:现在我的问题是,PreLoadedUserList在ItemSource(SomeDataRowList)之外,我不知道如何绑定(bind)

c# - 编译器错误 : "error CS0307: The variable ' int' cannot be used with type arguments"

如果我有以下代码:privatevoidCheck(boola,boolb){}privatevoidCheck(inta,intb,intc,boolflag){Check(a(flag?c:b-10));}我在调用Check(int,int)时遇到编译时错误:errorCS0307:Thevariable'int'cannotbeusedwithtypearguments我也遇到了这些错误:errorCS0118:'b'isavariablebutisusedlikeatypeerrorCS0118:'a'isavariablebutisusedlikeatype为什么会出现这些错

c# - httpWebRequest(底层连接已关闭 : The connection was closed unexpectedly. )

我正在开发一个C#应用程序,它记录来自网络服务器的数据。它向网络服务器发送以下发布请求并等待响应。//////FunctionforobtainingtestCgidata/////////privatestringHttpmyPost(stringParameters){stringstr="Noresponse";HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(uriTestCGI);request.Method="POST";byte[]bytes=Encoding.UTF8.GetBytes(Parameters)

c# - VS2008 安装项目 : Uninstalling the previous MSI

我有一个VS2008安装项目,它创建了一个安装WinForms应用程序(C#)的setup.msi。每次我更新版本号,用户都必须先卸载旧版本,然后才能安装新版本。否则我们会收到可怕的“此产品的另一个版本已安装”消息。这是我在构建新版本的安装程序时已经在做的事情:设置RemovePreviousVersions=true和DetectNewerInstalledVersion=true增加AssemblyVersion(正在部署的exe)增加版本(安装项目的)生成新的ProductCode(根据VS提示,Version改变时)保持UpgradeCode不变但它仍然拒绝卸载以前的版本。那么

c#、Excel + csv : how to get the correct encoding?

我已经尝试了很长一段时间,但无法弄清楚。我正在尝试通过*.csv文件将数据导出到Excel。到目前为止效果很好,但是在Excel中打开文件时我遇到了一些编码问题。(左边是原始字符串,右边是EXCEL结果):Messwert(µm/m)==>Messwert(µm/m)DümmeMässöng==>DümmeMässöngNotepad++告诉我文件编码为“ANSIasUTF8”(WTF?)因此,这里是我尝试获得有效结果的不同方法:明显的实现:tWriter.Write(";Messwert(µm/m)");更复杂的(可能尝试了十几种或更多的编码组合:)tWriter.Write

c# - UInt64 和 "The operation overflows at compile time in checked mode"- CS0220

这感觉像是一个愚蠢的问题,但我似乎看不到答案。我有一个UInt64,它的最大值应该是UInt64.MaxValue18446744073709551615但是,当我尝试分配一个中等大小的数字时,出现“在检查模式下编译时操作溢出”的溢出错误。如果我将它包装在一个“未经检查”的block中,那么它会编译并运行,就像这个变量为零一样:UInt64value1=1073741824*8;//CompileerrorCS0220UInt64value2=8589934592;//Actualvalue-noerror为什么会这样? 最佳答案

c# - 多线程,Task.Run 错误 'The call is ambiguous between the following methods or properties'

当我尝试构建项目时,显示以下错误消息。Thecallisambiguousbetweenthefollowingmethodsorproperties:'System.Threading.Tasks.Task.Run(System.Action)'and'System.Threading.Tasks.Task.Run(System.Func)'我该如何解决这个问题?publicstaticclassMaintananceManager{privatestaticThreadSafeSocialMediaListPostList=newThreadSafeSocialMediaList(