小编lak*_*tak的帖子

如何从AD DirectoryEntry获取DOMAIN\USER?

如何从Active Directory DirectoryEntry(SchemaClassName ="user")对象获取Windows用户和域?

用户名在sAMAccountName属性中,但在哪里可以查找域名?

(我不能假设一个固定的域名,因为用户来自不同的子域名.)

.net c# active-directory

15
推荐指数
4
解决办法
4万
查看次数

扩展C#Coalesce运算符

在我解释我想做什么之前,如果你看下面的代码,你会明白它应该做什么吗?(更新 - 见下文)

Console.WriteLine(
  Coalesce.UntilNull(getSomeFoo(), f => f.Value) ?? "default value");
Run Code Online (Sandbox Code Playgroud)

C#已经有一个null-coalescing运算符,它在简单对象上运行得很好,但如果你需要访问该对象的一个​​成员则无效.

例如

Console.WriteLine(getSomeString()??"default");
Run Code Online (Sandbox Code Playgroud)

效果很好,但它不会帮助你:

public class Foo
{
  public Foo(string value) { Value=value; }
  public string Value { get; private set; }
}

// this will obviously fail if null was returned
Console.WriteLine(getSomeFoo().Value??"default"); 

// this was the intention
Foo foo=getSomeFoo();
Console.WriteLine(foo!=null?foo.Value:"default");
Run Code Online (Sandbox Code Playgroud)

由于这是我经常遇到的事情,我想到使用扩展方法(旧版本):

public static class Extension
{
  public static TResult Coalesce<T, TResult>(this T obj, Func<T, TResult> func, TResult defaultValue)
  {
    if (obj!=null) return func(obj);
    else return …
Run Code Online (Sandbox Code Playgroud)

c# extension-methods

14
推荐指数
3
解决办法
2431
查看次数

MS Word是邪恶的!有没有好的选择?

作为一名开发人员,我真的不喜欢编写文档,但是当我不得不尽可能地让这个过程变得无痛时.

Word的问题在于它经常妨碍我.我更担心布局而不是实际内容......这就是我想摆脱Word的原因.

理想情况下,我想编写我的内容,然后将其"编译"成文档.

我听说过LaTeX,但我没有任何经验.这是否适合这项工作?我应该使用什么编辑器(Windows)?从LyX开始是一个好主意吗?

编辑:我不是要求记录代码(我使用Sandcastle).


2014年更新:

我们现在已切换到GFM(GitHub Flavored Markdown).

  • 这很容易合作.
  • 在同一个IDE中编写代码和文档!
  • 一切都可以版本化!
  • 以raw txt,htmlpdf的形式获得出色的输出!

documentation markdown latex ms-word github-flavored-markdown

14
推荐指数
5
解决办法
2735
查看次数

在iPad 3上测试iPhone 5(4")应用程序

我希望能够在其仿真器模式下在iPad 3上测试iPhone 5(4")应用程序.

为了表明它是一个iPhone 5应用程序,我添加了Default-568h@2x.png启动图像,并在模拟器中按预期工作.

当我尝试在iPad上运行它时,只有3.5英寸版本在其iPhone模拟器中显示.

iPad是否还不支持4"模式,还是需要启用其他功能?(iOS 6 GM种子)

ipad ios iphone-5

13
推荐指数
1
解决办法
2060
查看次数

VS Intellisense:你能隐藏扩展方法吗?

默认情况下,Visual Studio会显示intellisense中类型的所有成员及其扩展方法.

有时我想隐藏扩展方法,以便更容易找到我实际需要的成员(特别是在使用Linq时).

是否有快捷方式或其他方式只显示intellisense中类型的成员?

intellisense visual-studio

12
推荐指数
1
解决办法
1837
查看次数

如何将IIS Developer Express切换到"经典模式"

我知道如何通过应用程序池设置在完整的IIS中切换到"经典模式"(从"集成模式").但我无法在当前的IIS Developer Express测试版中找到如何做到这一点.

MS Developer Express FAQ说它可以完成,但不是如何完成.据我所知,它不在WebMatrix GUI中.也许自定义Developer Express项目文件,但我根本没有看到任何文档.

仅供参考,有一个设置区域,您可以在其中设置SSL,CLR版本(在本例中为2.0),这是我认为管道模式(经典/集成)的地方,但它不存在.

asp.net iis-7 iis-express

9
推荐指数
1
解决办法
9945
查看次数

DateTime比较忽略种类?

DateTime d1=new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc);
DateTime d2=new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Local);
Console.WriteLine(d1==d2);           // prints true
Console.WriteLine(d1<d2);            // prints false
Console.WriteLine(d1.CompareTo(d2)); // prints 0
Console.WriteLine(d1.ToUniversalTime()==d2.ToUniversalTime()); // prints false
Run Code Online (Sandbox Code Playgroud)

对我来说这看起来像个错误,如果没有让我感到惊讶.

我是否必须为每次比较调用ToUniversalTime(),还是有更好的选择?

你如何避免因忘记调用ToUniversalTime()或因DateTimeKind.Unspecified而得到错误结果等陷阱?

c# datetime utc

9
推荐指数
1
解决办法
2965
查看次数

删除Visual Studio中的匹配大括号

在Visual Studio中,我可以使用Control+]快捷方式从/跳到开/关大括号.

是否有一个快捷方式允许我一次删除两个大括号(可能有一个宏/扩展名)?

例如

foo = ( 1 + bar() + 2 );
Run Code Online (Sandbox Code Playgroud)

当我在第一个开口支架上时,我想删除它和它的匹配支架

foo = 1 + bar() + 2;
Run Code Online (Sandbox Code Playgroud)

c# editor visual-studio

8
推荐指数
2
解决办法
1342
查看次数

在表达式树中组合表达式

当表达式的某些部分作为参数传递时,如何构建表达式树?

例如,如果我想创建这样的表达式树,该怎么办:

IQueryable<LxUser> test1(IQueryable<LxUser> query, string foo, string bar)
{
  query=query.Where(x => x.Foo.StartsWith(foo));
  return query.Where(x => x.Bar.StartsWith(bar));
}
Run Code Online (Sandbox Code Playgroud)

但通过间接创造它们:

IQueryable<LxUser> test2(IQueryable<LxUser> query, string foo, string bar)
{
  query=testAdd(query, x => x.Foo, foo);
  return testAdd(query, x => x.Bar, bar);
}

IQueryable<T> testAdd<T>(IQueryable<T> query, 
  Expression<Func<T, string>> select, string find)
{
  // how can I combine the select expression with StartsWith?
  return query.Where(x => select(x) .. y => y.StartsWith(find));
}
Run Code Online (Sandbox Code Playgroud)

结果:

虽然样本没有多大意义(抱歉,但我试图保持简单),这是结果(感谢Quartermeister).

它可以与Linq-to-Sql一起使用,以搜索以findText开头或等于的字符串.

public static IQueryable<T> WhereLikeOrExact<T>(IQueryable<T> query, 
  Expression<Func<T, string>> selectField, string findText) …
Run Code Online (Sandbox Code Playgroud)

c# lambda expression-trees

6
推荐指数
1
解决办法
3703
查看次数

您可以配置Visual Studio的“查找选项”吗?

当我按Ctrl + F时,是否可以使VS 2012查找对话框始终使用“ 当前文档”并重置大小写整个单词?目前,它记住了我的最后选择,而我经常忘记关闭它们。

而且有时它会自己切换到“ 所有打开的文档”,这完全让我失望。我还没有弄清楚为什么或何时发生这种情况。

我已经搜索了注册表项和扩展名,但到目前为止,没有发现有用的信息。

visual-studio-2012 visual-studio-2013

6
推荐指数
1
解决办法
3866
查看次数