MAIBILAI

c# - 由于静态字段初始化的顺序,如何捕获或标记潜在问题

考虑以下C#代码:usingSystem;classProgram{staticstringstring1="AAA";staticstringstring2=string1+string3;staticstringstring3="BBB";staticvoidMain(){Console.WriteLine(string2);}}我今天早些时候写了一些这样的代码,并期望string2包含值AAABBB,但它只包含AAA。我阅读了一些有关静态变量初始化顺序的资料,但对我来说,编译期间会生成某种类型的警告或错误似乎更可取。两个问题:为什么允许这样的代码编

c# - 底层连接已关闭 : An unexpected error occurred on a receive

我在这里是因为我在通过ftp协议(protocol)下载一些文件时遇到了问题。这很奇怪,因为它偶尔会发生,甚至是针对同一个文件。只是一个精度:我正在下载非常大的文件(从500Mo到30Go)这是我的函数返回的异常类型:(抱歉,它是法语的)System.Net.WebException:Laconnexionsous-jacenteaétéfermée:Uneerreurinattendues'estproduitelorsdelaréception。àSystem.Net.FtpWebRequest.CheckError()àSystem.Net.FtpWebRequest.SyncR

c# - 如何概括我的算法以检测一个字符串是否是另一个字符串的旋转

因此,我一直在研究各种问题来复习即将到来的面试,我遇到的一个问题是确定两个字符串是否是彼此的旋转。显然,我不是第一个解决这个问题的人。事实上,我确实发现我解决这个问题的想法似乎与thisquestion中采用的方法相似。.完全披露:我确实有一个relatedquestion在MathSE上,它从更数学的角度关注属性(尽管值得注意的是,由于那里解释的原因,我试图阐明其背后的想法的方式最终是不正确的)。想法是这样的(这类似于链接问题中采用的方法):假​​设您有一个字符串abcd和旋转cdab.显然,cd和ab是cdab的子串,但如果你将它们连接在一起,你会得到abcd.所以基本上,旋转只是

c# - MVVM - 验证

我们正试图找出在业务逻辑或模型中执行验证的mvvm中的验证。我已经在我们的业务逻辑中实现了通过异常类型进行验证-可以在此处找到简化图:如果我们有很多彼此独立的输入,没有问题,抛出异常,文本框捕获它并标记每个错误输入的边框为红色。然而,当我们有依赖值时,我们就有麻烦了。例如模型中的Value1和Value2不能相同,因此我们在每个寻找相等值的对象中都有一个验证函数,如果发生这种情况则抛出异常现在,如果我们将Value1设置为0并将Value2设置为1,一切都很好Value1在GUI中被设置为1-->这个被标记为红色,因为没有触发其他值的验证,所以GUI中的Value2没有被标记为错误Va

c# - 为什么删除重音符号/变音符号时 Đ 没有变平为 D

我正在使用这种方法从我的字符串中删除重音符号:staticstringRemoveAccents(stringinput){stringnormalized=input.Normalize(NormalizationForm.FormKD);StringBuilderbuilder=newStringBuilder();foreach(charcinnormalized){if(char.GetUnicodeCategory(c)!=UnicodeCategory.NonSpacingMark){builder.Append(c);}}returnbuilder.ToString();

c# - OpenXML 中的 CellValues.InlineString 和 CellValues.String 有什么区别?

我正在尝试编写一些代码来生成Excel电子表格,但我不确定CellValues.InlineString和CellValues.String在细胞。我应该用这个吗:privatevoidUpdateCellTextValue(Cellcell,stringcellValue){InlineStringinlineString=newInlineString();TextcellValueText=newText{Text=cellValue};inlineString.AppendChild(cellValueText);cell.DataType=CellValues.InlineS

C#有异步函数调用同步函数或者同步函数调用异步函数

我正在编写一个C#.Net4.5库来执行常见的sql数据库操作(备份、恢复、执行脚本等)。我希望每个操作都有同步和异步功能,因为这个库将被控制台和GUI应用程序使用,但我不想在任何地方重复代码。所以在我看来,我有两个选择:在同步函数中编写完成工作的代码,然后将其包装在异步函数的任务中,如下所示:publicvoidBackupDB(stringserver,stringdb){//Doalloftheworkandlongrunningoperationhere}publicasyncTaskBackupDBAsync(stringserver,stringdb){awaitTask.

c# - 加密 SQL 连接字符串 c#

我创建了一个连接到sql2005服务器的c#应用程序(不是asp网页)。在我的源代码中,此sql-server的密码和用户ID在ConnectionString中以纯文本编码。SqlConnectioncon=newSqlConnection();con.ConnectionString="DataSource=server1;"+"InitialCatalog=mydatabase;"+"IntegratedSecurity=no;"+"UserID=admin;Password=mypassword;";con.Ope

C# 字典性能 : Default string Comparer's GetHashCode() allocates memory in violation of guidelines, 从而破坏性能?

有anestablishedguideline获取哈希码不应分配内存,因为这会通过调用垃圾收集器对哈希表查找产生负面影响。然而,这个确切的失败是我所看到的我使用System.Collections.Generic.Dictionary的应用程序的配置文件在一个非常紧凑的循环中,我在分析器结果中发现以下内容:[3.47%]TryGetValue(TKey,TValue&)(...字典)[3.47%]FindEntry(TKey)(...字典)[3.47%]GetHashCode(string)(System.CultureAwareComparer)[3.46%]GetHashCodeO

c# - string.IndexOf OrdinalIgnoreCase 与 CurrentCultureIgnoreCase 的性能

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Stringcomparisonindotnetframework4我注意到我机器上的一个UI应用程序存在性能问题,该应用程序正在执行大量字符串比较以过滤大型列表。我将问题追溯到在对string.IndexOf的调用中使用OrdinalIgnoreCase。以下基准测试是在没有附加调试器的情况下在Release中运行的,它是一个在VS2010、Windows7中构建的4.0项目,我在这台机器上安装了4.5beta,我不确定这是否会影响它。1.190secondsforOrdinalIgnoreCase0.17