C# Get 访问器不可访问

标签 c# arrays ienumerable enumerable

我有以下类定义:

 public static string SplitString(string someText)
 {
      var queryArray = Regex.Split(someText, "\\s+(?=\\w+)");
      foreach (var i in Enumerable.Range(0, queryArray.Count - 1)) {
           // Some code
      }
 }

问题是 queryArray.Count 给我以下错误:

不能在此上下文中使用属性“System.Array.Count”,因为 get 访问器不可访问。

我在这里错过了什么?

最佳答案

你可以试试 Length属性代替:

public static string SplitString(string someText)
{
    var queryArray = Regex.Split(someText, "\\s+(?=\\w+)");
    foreach (var i in Enumerable.Range(0, queryArray.Length - 1)) {
        // Some code
    }
}

如果这样写,你的代码可能会更具可读性:

public static string SplitString(string someText)
{
    var queryArray = Regex.Split(someText, "\\s+(?=\\w+)");
    for (var i = 0; i < queryArray.Length; i++) {
        // Some code
    }
}

或者像这样:

public static string SplitString(string someText)
{
    var queryArray = Regex.Split(someText, "\\s+(?=\\w+)");
    foreach (var item in queryArray) {
        // Some code
    }
}

关于C# Get 访问器不可访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12862657/

相关文章:

c# - 如何在 ASP.NET 中使用插件架构?

php - Codeigniter 3.0.1 中数组到字符串转换错误

c# - 访问 IEnumerable 清除内容

Javascript - 从数值创建金字塔数组

c# - 按三个字段对 IEnumerable<type> 进行排序

c# - IEnumerable——非空集合如何同时为空?

c# - 服务栈elmah实现

c# - 如何在括号内用逗号拆分字符串而不是双引号

c# - 单例记录器、静态记录器、工厂记录器……如何记录?

ruby - 为什么我不能获取数组中每个字符串的数组长度?