草庐IT

user-agent-string-update

全部标签

c# - 如何从 AD DirectoryEntry 获取 DOMAIN\USER?

如何从ActiveDirectoryDirectoryEntry(SchemaClassName="user")对象获取Windows用户和域?用户名在sAMAccountName属性中,但我可以在哪里查找域名?(我不能假设一个固定的域名,因为用户来自不同的子域。) 最佳答案 这假定results是从DirectorySearcher获得的SearchResultCollection,但您应该能够直接从DirectoryEntry获得objectsid。SearchResultresult=results[0];varpropert

c# - 是否有 string.Join(string, string[]) 的 LINQ 等价物

这个问题已经存在:WhatistheLINQwaytoimplode/joinastringarray?[duplicate]关闭9年前。有什么方法可以使用LINQ将对象集合转换为单个新对象吗?我想在另一个LINQtoSQL表达式中使用它。

C# 使用 String.IsNullOrEmpty 切换

是否可以在C#中设置一个开关来检查值是否为null或空而不是“”而是String.Empty?我知道我可以做到:switch(text){casenull:case"":break;}有没有更好的东西,因为我不想有一大堆IF语句?我正在尝试替换:if(String.IsNullOrEmpty(text))blah;elseif(text="hi")blah 最佳答案 我建议如下:switch(text??String.Empty){case"":break;case"hi":break;}这就是你要找的吗?

c# - 为什么我的 string.indexof(char) 更快?

不要问我是怎么到那儿的,但我一直在玩弄一些掩码、循环展开等。无论如何,出于兴趣,我在考虑如何实现一个indexof方法,长话短说,所有除了屏蔽等,这个天真的实现:publicstaticunsafeintIndexOf16(strings,intstartIndex,charc){if(startIndex=s.Length)thrownewArgumentOutOfRangeException("startIndex");fixed(char*cs=s){for(inti=startIndex;i比string.IndexOf(char)快。我写了一些简单的测试,它似乎与输出完全匹配

c# - 为什么 string.Normalize 不一致取决于上下文?

我有以下代码:stringinput="ç";stringnormalized=input.Normalize(NormalizationForm.FormD);char[]chars=normalized.ToCharArray();我在64位Windows7上使用VisualStudio2010、.net4构建此代码。我在两个上下文中的单元测试项目(平台:任何CPU)中运行它并检查chars的内容:VisualStudio单元测试:字符包含{231}。ReSharper:字符包含{231}。NCrunch:字符包含{99,807}。在msdndocumentation,我找不到任何

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

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

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# - 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# - 为什么 ReSharper 告诉我 "User.Identity == null"总是错误的?

我的一个ASP.NETMVC中有一个简单的属性Controller类。我以前见过很多次,所以理解消息的意思,但通常它是完全有道理的。然而,事实并非如此。要获取带下划线的语句,User必须NOT为null,因此检查User.Identity没问题。Identity属性是IPrincipalinterface的一部分,并返回一个继承IIdentity的对象.要继承此接口(interface)或与此相关的任何接口(interface),此属性必须是引用类型,因此可能为null,对吗?那么,为什么我心爱的ReSharper会发出呻吟声? 最佳答案

c# - 如何从 DOMAIN\user 格式的用户名创建 WindowsIdentity/WindowsPrincipal

WindowsIdentity(string)构造函数要求用户名采用username@domain.com格式。但在我的例子中,我从旧的DOMAIN\user格式的数据库中获取用户名(然后必须检查他们的Windows角色成员身份)。从旧式(sAMAccountName)用户名​​创建WindowsPrincipal的最佳方法是什么? 最佳答案 似乎没有办法在不涉及对ActiveDirectory的查询的情况下转换用户名格式。由于是这种情况,因此无需创建WindowsPrincipal来检查组成员身份,因为这可能需要与AD的另一个连接