相关疑难解决方法(0)

如何将字符串添加到string []数组?没有.Add功能

private string[] ColeccionDeCortes(string Path)
{
    DirectoryInfo X = new DirectoryInfo(Path);
    FileInfo[] listaDeArchivos = X.GetFiles();
    string[] Coleccion;

    foreach (FileInfo FI in listaDeArchivos)
    {
        //Add the FI.Name to the Coleccion[] array, 
    }

    return Coleccion;
}
Run Code Online (Sandbox Code Playgroud)

我想将其转换FI.Name为字符串,然后将其添加到我的数组中.我怎样才能做到这一点?

c# arrays long-filenames

205
推荐指数
6
解决办法
67万
查看次数

无法在扩展方法中使用ref和out作为第一个("this")参数?

为什么禁止Extension Methodref修饰符调用?

这个是可能的:

public static void Change(ref TestClass testClass, TestClass testClass2)
{
    testClass = testClass2;
}
Run Code Online (Sandbox Code Playgroud)

这不是:

public static void ChangeWithExtensionMethod(this ref TestClass testClass, TestClass testClass2)
{
    testClass = testClass2;
}
Run Code Online (Sandbox Code Playgroud)

但为什么?

.net c# extension-methods

28
推荐指数
4
解决办法
9695
查看次数

是否可以在C#中扩展数组?

我习惯于向IEnumerable等外部类添加方法.但是我们可以在C#中扩展数组吗?

我计划向数组添加一个方法,即使它是多维的,也可以将它转换为IEnumerable.

如何在C#中扩展数组无关

.net c# arrays ienumerable extension-methods

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

在扩展方法中更改数组大小不起作用?

所以基本上我Add为数组类型编写了我的小扩展方法。

using System;
using System.Linq;
public static class Extensions 
{
    public static void Add<T>(this T[] _self, T item)
    {
        _self = _self.Concat(new T[] { item }).ToArray();
    }
}
public class Program
{
    public static void Main()
    {
        string[] test = { "Hello" };
        test = test.Concat(new string[] { "cruel" }).ToArray();
        test.Add("but funny");
        Console.WriteLine(String.Join(" ", test) + " world");
    }
}
Run Code Online (Sandbox Code Playgroud)

输出应该是Hello cruel but funny world,但but funny永远不会在扩展方法中连接。

在扩展中编辑相同的数组似乎也不起作用:

using System;
using System.Linq;
public static class …
Run Code Online (Sandbox Code Playgroud)

c# arrays extension-methods concatenation unity-game-engine

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