草庐IT

stream_socket_get_name

全部标签

c# - Request.QueryString[] 对比 Request.Query.Get() 对比 HttpUtility.ParseQueryString()

我搜索了SO并发现了类似的问题,但没有一个比较这三个问题。这让我很吃惊,所以如果有人知道,请指点一下。有许多不同的方法来解析请求的查询字符串……“正确”的方法(IMO)应该处理空值/缺失值,但也要适本地解码参数值。以下哪项是同时做到这两点的最佳方式?方法一stringsuffix=Request.QueryString.Get("suffix")??"DefaultSuffix";方法2stringsuffix=Request.QueryString["suffix"]??"DefaultSuffix";方法三NameValueCollectionparams=HttpUtility.

c# - get_SynonymInfo 某些词抛出内存不足异常

我有一个简单的测试程序,它使用MicrosoftWordInterop从同义词词典中获取词义:usingSystem;usingWord=Microsoft.Office.Interop.Word;classProgram{staticvoidMain(string[]args){stringword="elite";//="common";varapp=newWord.Application();varsynInfo=app.SynonymInfo[word,Word.WdLanguageID.wdEnglishUS];if(synInfo.Found&&synInfo.Meanin

c# - Stream.ReadAsync 和 Stream.WriteAsync 是否应该在返回之前或操作完成之后同步更改光标位置?

我一直在尝试实现一个支持ReadAsync和WriteAsync的Stream,并考虑到documentation的冗余性,我正在努力了解如何正确执行此操作。具体来说,关于流的光标位置。问了一个类似的问题here和here关于旧的BeginRead函数。该函数的文档似乎表明,在任何挂起的异步操作完成之前,不应再次调用BeginRead。鉴于BeginRead现在已弃用nolongerrecommendedfornewdevelopment并且Stream可能已被显着改变以实现新的Async功能,事情再次不清楚。(编辑:通常这种警告意味着新函数被直接实现,旧函数调用新函数并且仍然存在只是

c# - 我们什么时候不应该创建 Assembly 的强名称? "strong named assembly"的缺点是什么?

我有一个项目,即library.exe。在此我引用了一个程序集(logging.dllver1.0.3.0)并且我给这个程序集起了一个强名称。现在假设我更改了logging.dll中的一个方法并制作了版本1.0.4.0。现在当我用这个新的DLL复制/替换旧的DLL时,我得到了一个异常。我知道异常是因为我更改了DLL的版本号。因为它是一个强名称DLL,除非我重建library.exe,否则不允许使用它。上面的故事我想说的是仅当我们必须将其添加到GAC时,才对程序集使用强名称。如果我们有一个应用程序,其中单个程序集需要更新,请不要使用强命名程序集。我对第1点和第2点的看法是否正确?什么时候

c# - WCF 反序列化中的 XmlException : "Name cannot begin with ' <'" - in automatic property backing fields

我今天开始在WCF反序列化中遇到错误-代码一直没有改变并且工作了几个月。问题是我正在获取运行时XmlException说“名称不能以‘k_BackingField,这是XmlException的来源。我在网上看到了其他一些引用资料,其中人们接受的解决方案是“我更改了我的代码以不使用自动属性”,这对我来说是不能接受的,因为我需要更改100个对象,(其中有1000个属性)。此外,当我上周运行这段相同的代码时,它运行良好,似乎并没有影响所有序列化的DTO,只有一些。更令人沮丧的是,它似乎有点断断续续。今天早上偶尔会抛出异常...!问题;为什么在未更改的代码和未更改的框架源中突然出现此问题?如

C# 验证 : IDataErrorInfo without hard-coded strings of property name?

实现IDataErrorInfo的最佳做法是什么?无论如何都可以在没有属性名称硬编码字符串的情况下实现它? 最佳答案 通用验证例程的基类您可以使用DataAnnotations如果您在IDataErrorInfo实现中做了一些futzing。例如,这是我经常使用的基本View模型(来自Windows窗体,但您可以推断):publicclassViewModelBase:IDataErrorInfo,INotifyPropertyChanged{publiceventPropertyChangedEventHandlerPropert

c# - .Net CultureInfo Month Names 返回一个额外的空字符串

我有以下代码来获取月份名称列表:varmonthNames=System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.MonthNames;出于某种原因,这会不断返回一个额外的空字符串值以及月份名称:我正在使用XamarinStudio。其他人以前遇到过这种情况吗? 最佳答案 有些日历像TaiwanLunisolarCalendar或KoreanLunisolarCalendar有13个月。在12个月的日历中,数组的第13个元素是一个空字符串。DateTimeFor

c# - 将 Stream 转换为 IEnumerable。如果可能当 "keeping laziness"

我收到一个Stream并需要将IEnumerable传递给另一个方法。publicstaticvoidstreamPairSwitchCipher(StreamsomeStream){...someStreamAsIEnumerable=...IEnumerablereturned=anotherMethodWhichWantsAnIEnumerable(someStreamAsIEnumerable);...}一种方法是读取整个Stream,将其转换为字节数组并将其传入,因为Array实现了IEnumerable。但如果我能以这样一种方式传递它,在传递它之前我不必阅读整个Stream

c# - 为什么我需要使用 get 和 set?

我有一段代码:publicclassMyClass{privatestring_myProperty;publicstringMyProperty{get{return_myProperty;}set{_myProperty=value;}}}这里有什么意义?我可以将_myProperty字符串声明为公共(public)字符串,我的任何类对象都可以直接访问它们并获取或设置值。相反,我们将_myProperty设为私有(private),并使用类对象使用get和set来访问它们。在任何一种情况下,类对象都能够访问它们并且结果总是相同的。那么为什么要使用这种方法呢?这仅仅是因为我可以在se

C# 排序列表 : How to get the next element?

我想知道如何获取C#排序列表中的下一个元素。到目前为止,我想出了以下代码:SortedListmList;BlasomeElement=mList[key];Blanext=mList[mList.Keys[mList.IndexOfKey(key)+1]];我不确定这是否是最明智的做法;-) 最佳答案 因为您可以通过index(seetheRemarkssection)访问SortedList,我建议使用以下内容:varindex=mList.IndexOfKey(key);varfirst=mList.Values[index]