相关疑难解决方法(0)

从Int数组转换为字符串数组

当我将整数数组转换为字符串数组时,我使用for循环以较长的方式进行,如下面的示例代码中所述.这有简写吗?

现有的问题和答案SO大约int[]string(不string[]).所以他们没有帮助.

虽然我发现这个将一个int数组转换为一个String数组的答案,但该平台是Java而不是C#.同样的方法无法实现!

        int[] intarray =  { 198, 200, 354, 14, 540 };
        Array.Sort(intarray);
        string[] stringarray = { string.Empty, string.Empty, string.Empty, string.Empty, string.Empty};

        for (int i = 0; i < intarray.Length; i++)
        {
            stringarray[i] = intarray[i].ToString();
        }
Run Code Online (Sandbox Code Playgroud)

.net c# linq arrays linq-to-objects

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

使用Visual Studio 2008的2.0中的C#.NET 3.0/3.5功能

在升级到Visual Studio 2008之后,.NET 2.0中可以使用哪些特定于C#3.0/3.5的新功能?此外,有哪些功能不可用?

可得到

  • Lambda表达式
  • 扩展方法(通过声明一个空的System.Runtime.CompilerServices.ExtensionAttribute)
  • 自动属性
  • 对象初始化器
  • 集合初始化器
  • LINQ to Objects(通过实现IEnumerable扩展方法,参见LinqBridge)

无法使用

  • 表达树
  • WPF/Silverlight库

.net c# visual-studio

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

List.Find <T>被认为是危险的吗?什么是更好的方法做List <T> .Find(Predicate <T>)?

我以前认为List <T>被认为是危险的.我的观点是,我认为默认(T)不是一个安全的返回值!许多其他人也这么认为考虑以下问题:

List<int> evens = new List<int> { 0, 2, 4, 6, , 8};
var evenGreaterThan10 = evens.Find(c=> c > 10);
// evenGreaterThan10 = 0 #WTF
Run Code Online (Sandbox Code Playgroud)

值类型的默认值(T)为0,因此返回0是goona以上代码段!
我不喜欢这个,所以我添加了一个名为TryFind的扩展方法,它返回一个布尔值并接受除Predicate之外的输出参数,类似于着名的TryParse方法.
编辑:
这是我的TryFind扩展方法:

public static bool TryFind<T>(this List<T> list, Predicate<T> predicate, out T output)  
{  
  int index = list.FindIndex(predicate);  
  if (index != -1)  
  {  
    output = list[index];  
    return true;  
  }  
  output = default(T);  
  return false;  
}  
Run Code Online (Sandbox Code Playgroud)

你有什么办法在通用名单上查找?

.net c#

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

VB.NET Array Contains方法不起作用

在VB.NET中,我试图确定一个字符串数组中存在的给定字符串.根据我的研究,Array有一个我可以使用的'Contains'方法,所以Code看起来像这样:

Dim fileTypesZ As String() = {"PDF", "TXT", "DOC", "DOCX", "XLS", "XLSX", "JPG", "JPGE", "BMP", "GIF"}

If (fileTypesZ.Contains(tempTest)) Then

End If
Run Code Online (Sandbox Code Playgroud)

但是,VB.NET说'Contains'不是'System.Array'的成员.还有其他方法可供我使用吗?

vb.net asp.net arrays

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

Compact Framework 3.5 Set Form parent

在.net Compact Framework 2.0中,您可以将表单添加到另一个表单控件数组中,基本上为其他表单提供父级.

_mainForm.Controls.Add(form);

在.net cf 3.5中不允许这样做并导致异常:

System.ArgumentException: Value does not fall within the expected range. at Microsoft.AGL.Common.MISC.HandleAr(PAL_ERROR ar) at System.Windows.Forms.Control._SetParent(Control ctlParent) at System.Windows.Forms.Control.set_Parent(Control value)

是否有解决方法或替代方案?我需要能够在另一个表单的面板中为表单提供父项.

compact-framework parent .net-3.5 winforms

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

在.net framework 2.0中使用Linq?

我在.net framework 4.0,visual studio 2010中创建了一个应用程序,但由于某些原因我将框架从4.0更改为2.0但现在我收到错误

The type or namespace name 'Linq' does not exist in the namespace 'System' (are you 
missing an assembly reference?) 
Run Code Online (Sandbox Code Playgroud)

LINQ在这个项目中非常常用,现在我想知道有没有办法使用LINQ和.net 2.0.Need help.Thanks.

c# linq visual-studio-2010 winforms

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