Tag: C#的

为什么这个string扩展方法不会抛出exception?

我有一个C#string扩展方法,它应该返回一个string中子string的所有索引的IEnumerable<int> 。 它完美的预期目的和预期的结果返回(如我的一个testing,虽然不是下面的一个certificate),但另一个unit testing发现它的问题:它不能处理空参数。 这是我testing的扩展方法: public static IEnumerable<int> AllIndexesOf(this string str, string searchText) { if (searchText == null) { throw new ArgumentNullException("searchText"); } for (int index = 0; ; index += searchText.Length) { index = str.IndexOf(searchText, index); if (index == -1) break; yield return index; } } 这是标记问题的testing: [TestMethod] [ExpectedException(typeof(ArgumentNullException))] public void Extensions_AllIndexesOf_HandlesNullArguments() { string […]

目标C中的select器

首先,我不确定我真的明白select器是什么。 根据我的理解,这是一个方法的名称,您可以将其分配给types为“SEL”的类,然后运行诸如respondToSelector之类的方法来查看接收方是否实现了该方法。 有人可以提供一个更好的解释? 其次,至此,我有以下代码: NSString *thing = @"Hello, this is Craig"; SEL sel = @selector(lowercaseString:); NSString *lower = (([thing respondsToSelector:sel]) ? @"YES" : @"NO"); NSLog (@"Responds to lowercaseString: %@", lower); if ([thing respondsToSelector:sel]) //(lower == @"YES") NSLog(@"lowercaseString is: %@", [thing lowercaseString]); 然而,即使thing显然是一种NSString,并应该响应lowercaseString,我不能得到'respondsToSelector'条件返回“是”…

如何在int C中枚举枚举?

可能重复: 在int中枚举枚举的通用方法 我如何在int中枚举一个枚举? 例如: enum Test { A, B }; int a = 1; 如何转换为typesTest :: A?

如果使用else子句构造else,那么终止的好处是什么?

我们的组织有一个必要的编码规则(没有任何解释): 如果… else如果构造应该用else子句终止 例1: if ( x < 0 ) { x = 0; } /* else not needed */ 例2: if ( x < 0 ) { x = 0; } else if ( y < 0 ) { x = 3; } else /* this else clause is required, even if the */ […]

有人可以解释微软统一?

我一直在阅读有关Unity(dependency injection,控制反转)的MSDN上的文章,但我想我需要用简单的术语(或简单的例子)来解释它。 我熟悉MVPC模式(我们在这里使用它),但是我还不能真正掌握这个Unity的东西,而且我认为这是我们应用程序devise的下一步。

为什么(对象)0 ==(对象)0不同于((对象)0).Equals((对象)0)?

为什么下面的expression方式不同? [1] (object)0 == (object)0 //false [2] ((object)0).Equals((object)0) // true 实际上,我完全可以理解[1],因为.NET运行时可能会box整数并开始比较引用。 但为什么[2]不同?

如何从.net代码传递表值参数到存储过程

我有一个MS SQL Server 2005数据库。 在几个过程中,我有表参数,我把它传递给一个存储过程作为一个nvarchar(用逗号分隔)和内部分为单个值。 我将它添加到SQL命令参数列表中,如下所示: cmd.Parameters.Add("@Logins", SqlDbType.NVarchar).Value = "jim18,jenny1975,cosmo"; 我必须将数据库迁移到SQL Server 2008.我知道有表值参数,我知道如何在存储过程中使用它们。 但我不知道如何传递一个SQL命令中的参数列表。 有没有人知道正确的Parameters.Add程序语法? 还是有另一种方式来传递这个参数?

用LINQ将一个集合拆分成`n`部分?

有没有一种很好的方式来将一个集合分成n部分与LINQ? 当然不一定均匀。 也就是说,我想把集合分成子集合,每个子集合都包含一个元素的子集,最后一个集合可以被破坏。

int的最大值

是否有任何代码findC / C + +中的整数的最大值(相应的编译器)像Java中的Integer.MaxValue函数?

在编写unit testing时,你怎么知道要testing什么?

使用C#,我需要一个名为User的类,它具有用户名,密码,活动标志,名字,姓氏,全名等。 应该有方法来validation和保存用户。 我只是写一个testing的方法? 我甚至需要担心testing属性,因为它们是.Net的getter和setter?