小编Ler*_*rve的帖子

在C#中,是否有一种检查多级空引用的简洁方法

例如,如果我想调用以下内容: person.Head.Nose.Sniff() 那么,如果我想要安全,我必须执行以下操作:

if(person != null)
    if(person.Head != null)
        if(person.Head.Nose != null)
            person.Head.Nose.Sniff();
Run Code Online (Sandbox Code Playgroud)

是否有更简单的方法来制定这个表达式?

c# null reference-type

18
推荐指数
3
解决办法
6013
查看次数

18
推荐指数
1
解决办法
970
查看次数

什么是C#.NET中的TSource?

什么是TSource

以下是MSDN的一个示例:

public static IEnumerable<TSource> Union<TSource>(
    this IEnumerable<TSource> first,
    IEnumerable<TSource> second,
    IEqualityComparer<TSource> comparer
)
Run Code Online (Sandbox Code Playgroud)

这是一种类型吗?找不到任何MSDN文档.我认为它不能是一种类型,因为我无法在.NET Reflector中单击它.

它是.NET关键字吗?没有在C#关键字列表中找到它.

它是.NET编译器以特殊方式解释的吗?

我所知道的

我知道这T是一个泛型类型参数,在泛型方法中用作占位符.来自MSDN的什么是泛型的示例:

public class Stack<T>
{
   T[] m_Items; 
   public void Push(T item)
   {...}
   public T Pop()
   {...}
}
Stack<int> stack = new Stack<int>();
stack.Push(1);
stack.Push(2);
int number = stack.Pop();
Run Code Online (Sandbox Code Playgroud)

.net c# generics

16
推荐指数
3
解决办法
1万
查看次数

在Groovy中List和List <String>是否相同?

问题1

是否在Groovy中使用(List对象列表)或List<String>(字符串列表)是无关紧要的?

在下面的代码示例中,两个列表最终都是ArrayList(对象的ArrayList).本来希望第二个列表是一个ArrayList<String>(字符串的ArrayList).

Groovy在编译类时是否会丢失类型信息,并在执行编译的类时推断它?

例1

List untypedList = ["a", "b", "c"]
List<String> typedList = ["a", "b", "c"]

println "Untyped list List:       ${untypedList.getClass()}"
println "Typed list List<String>: ${typedList.getClass()}"
Run Code Online (Sandbox Code Playgroud)

输出1

Untyped list List:       class java.util.ArrayList
Typed list List<String>: class java.util.ArrayList // Would have expected ArrayList<String>
Run Code Online (Sandbox Code Playgroud)

问题2

我原以为typedList << new Integer(1)下面示例中的行会因异常而失败,因为我正在尝试将一个int字符串列入.任何人都可以解释为什么我可以添加intString-typed List

输出显示它仍然是Integer,即它不是在运行中转换为String"1".

例2

List untypedList = ["a", "b", "c"]
List<String> typedList …
Run Code Online (Sandbox Code Playgroud)

groovy list arraylist

16
推荐指数
1
解决办法
1万
查看次数

Java,C#,Python或Ruby中的Google Contacts API是否有Hello World示例?

有人能指出我一步一步的例子,它解释了如何开始使用Google Contacts API并展示完整的工作演示?

最好是在Java中,但它也可以是C#,Python或Ruby.

目标

我想做的就是

  1. 加载现有联系人,
  2. 将它添加到一个组和
  3. 保存联系人.

问题

我几乎都失败了.

  • 无法使身份验证工作
  • 找不到包含我在Internet上找到的代码段中使用的类的库
  • 无法对现有联系人执行CRUD操作

这是我正在寻找的一些伪代码.

import com.google.contacts.*

public class UpdateContactDemo {

   public static void main(String args[]) {
      GoogleContactsApi g = new GoogleContactsApi("username", "password");
      Contact c = g.get("Bob");
      c.addGroup("Friends");
      g.save(c);
   }
}
Run Code Online (Sandbox Code Playgroud)

我已经做了什么

好吧,我搜索了教程,API示例以及我能想到的所有其他内容 - 并且失败了.我发现了一堆像这样的来源:

但不包含初学者的端到端示例.

c# ruby java google-api google-contacts-api

14
推荐指数
1
解决办法
3355
查看次数

我可以在Gist以外的网页上嵌入GitHub的源文件吗?

上下文

您可以在GitHub上创建一个Gist并将其嵌入您的网页:嵌入Gists.

这是一个随机选择的要点的例子:tap.groovy.

是否可以嵌入来自GitHub的其他代码文件,例如使用这个随机选择的C#文件ICommand.cs而不是Gist?

gist github

14
推荐指数
4
解决办法
5039
查看次数

如何在C#中将字符串转换为RTF?

如何将字符串"Européen"转换为RTF格式的字符串"Europ \'e9en"?

[TestMethod]
public void Convert_A_Word_To_Rtf()
{
    // Arrange
    string word = "Européen";
    string expected = "Europ\'e9en";
    string actual = string.Empty;

    // Act
    // actual = ... // How?

    // Assert
    Assert.AreEqual(expected, actual);
}
Run Code Online (Sandbox Code Playgroud)

到目前为止我发现了什么

RichTextBox的

RichTextBox可用于某些事情.例:

RichTextBox richTextBox = new RichTextBox();
richTextBox.Text = "Européen";
string rtfFormattedString = richTextBox.Rtf;
Run Code Online (Sandbox Code Playgroud)

但是rtfFormattedString原来是整个RTF格式的文档,而不仅仅是字符串"Europ \'e9en".

堆栈溢出

谷歌

我还在网上找到了一堆其他资源,但没有解决我的问题.

回答

布拉德克里斯蒂的答案

不得不添加Trim()删除前面的空格result.除此之外,Brad Christie的解决方案似乎也有效.

我现在将使用这个解决方案,即使我有一个糟糕的直觉,因为我们必须使用SubString并修剪RichTextBox以获得RTF格式的字符串.

测试用例:

[TestMethod]
public void Test_To_Verify_Brad_Christies_Stackoverflow_Answer()
{
        Assert.AreEqual(@"Europ\'e9en", "Européen".ConvertToRtf());
        Assert.AreEqual(@"d\'e9finitif", "définitif".ConvertToRtf());
        Assert.AreEqual(@"\'e0", …
Run Code Online (Sandbox Code Playgroud)

c# rtf

13
推荐指数
3
解决办法
3万
查看次数

在Visual Studio 2012中Eclipse的Ctrl + O键盘快捷键是什么?

Visual Studio中是否有键盘快捷键来显示类的所有方法,并通过键入方法名称的前几个字母并按下来快速跳转到一个方法Enter

这就是Ctrl+OEclipse中的样子.

在此输入图像描述

图片来源:http://rayfd.files.wordpress.com/2007/05/ctrl_o_2.jpg?w = 700

旁注

不使用此处所述的ReSharper Visual Studio:缺少Ctrl + O + O,Ctrl + T Eclipse模拟

这个Stackoverflow回答中描述的东西比Ctrl+F2后面更好的东西.Tab

visual-studio visual-studio-2012

13
推荐指数
2
解决办法
3742
查看次数

如何从USB记忆棒运行Git 1.6.x for Windows

我想从USB记忆棒运行Git 1.6.x for Windows.

有一个Windows版本的Git可用于:http://code.google.com/p/msysgit/

从本地硬盘c:\安装和运行它绝对没问题.但是,我无法找到如何从USB记忆棒运行它.这篇文章建议人们可以从c:\中取出二进制文件并将它们复制到USB记忆棒中.

我不明白的要点是:

  1. 可以为Git设置全局设置,例如一个人的姓名和电子邮件地址:他们存储在哪里?某处%userprofile%?
  2. 假设我只是将二进制文件移动到USB记忆棒:Git仍然不会在c:\下查找%userprofile%而不是我的USB驱动器上的全局设置并且是否有路径设置(在某些Git配置文件中,不是Windows路径变量)可以指向e:\ git\settings,其中e:是我的USB驱动器?

谢谢你的任何提示.

git usb-drive

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

如何以编程方式从单元测试启动WPF应用程序?

问题

VS2010和TFS2010支持创建所谓的编码UI测试.我找到的所有演示,都是在编码UI测试开始时已经在后台运行的WPF应用程序开始,或者使用绝对路径启动EXE.

但是,我想从单元测试代码开始我的WPF应用程序测试.这样它也可以在构建服务器和我的同行的工作副本上工作.

我该如何做到这一点?

到目前为止我的发现

a)这篇文章展示了如何启动XAML窗口.但这不是我想要的.我想启动App.xaml,因为它包含XAML资源,代码隐藏文件中有应用程序逻辑.

b)这篇文章的第二个屏幕截图显示了一行开头

ApplicationUnterTest calculatorWindow = ApplicationUnderTest.Launch(...);
Run Code Online (Sandbox Code Playgroud)

这在概念上几乎就是我要找的东西,除了这个例子再次使用绝对路径作为可执行文件.

c)谷歌搜索"以编程方式启动WPF"也没有帮助.

c# wpf unit-testing coded-ui-tests

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