Не удается неявно преобразовать тип “string[]” в “string”

240
15 мая 2018, 10:50

Помогите плиз довести до ума. есть скрипт который ищет идентичные строки в массиве и выводит в консоль их порядковый номер.

using System;
using System.Linq;
internal sealed class Program {
  static void Main() {
    String[] arr = {
  "667577697890775788",
  "897678576456367767",
  "907896673566756787",
  "545765786766999798",
  "967854567868979789"
};
for (Int32 i = 0; i < arr.Length; i++) { // просто печатает строки массива (для наглядности)
  Console.WriteLine("String {0} : {1}", i + 1, arr[i]);
}
arr.Select((s, i) => new {s, i})
   .Where(a => a.s == "545765786766999798")
   .ToList()
   .FindAll(a => !String.IsNullOrEmpty(a.s))
   .ForEach(a => Console.WriteLine("Matched string : {0}", a.i + 1));
  }
}

проблема в том что не удаётся заставить его читать из файла. как передать обработчику программы данные из текстового файла в массив для обработки . я использовал File.ReadAllText и ReadAllLines но вылазят косяки

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
namespace проверкаюсагабезнуль
{
    internal sealed class Program
    {
        static void Main()
        {
            string[] arr = {
      System.IO.File.ReadAllLines("1.txt")
     };
            for (Int32 i = 0; i < arr.Length; i++)
            { // просто печатает строки массива (для наглядности)
                Console.WriteLine("String {0} : {1}", i + 1, arr[i]);
            }
            arr.Select((s, i) => new { s, i })
               .Where(a => a.s == "667577697890775788")
               .ToList()
               .ForEach(a => Console.WriteLine("Matched string : {0}", a.i + 
1));
            Console.ReadKey();
        }
    }
}
Answer 1

Просто уберите фигурные скобки:

string[] arr = System.IO.File.ReadAllLines("1.txt");  

Этот метод сам по себе возвращает массив строк, не нужно пытаться сделать массив из массива.

Answer 2

Замените

string[] arr = {
      System.IO.File.ReadAllLines("1.txt")
     };

на

  string[] arr = System.IO.File.ReadAllLines("1.txt");

Код у вас рабочий, проблема может быть только в файле 1.txt

READ ALSO
Как сохранить сессию клиента?

Как сохранить сессию клиента?

Сайт чатКак сделать так, чтобы не приходилось с каждым открытием заново перелогиниваться?

231
Можно ли прочитать значения в массиве после заполнения функцией в DLL

Можно ли прочитать значения в массиве после заполнения функцией в DLL

Допустим у меня есть DLL с функцией FillArray() и в DLL есть public static поле FilledArrayFillArray() заполняет FilledArray

246
Хранение схожих данных в MSSQL

Хранение схожих данных в MSSQL

У меня есть два объектаУ них есть много очень похожих полей, но также есть поля, которые есть только у одного из них

245
MySqlDataAdapter

MySqlDataAdapter

Имеется форма с компонентами DataGridView1, BindingSource1, DataTable

215