разделить список массивов и вернуть в виде строки до длины списка массивов

#c# #autocomplete #arraylist #n-tier-architecture

#c# #автозаполнение #список массивов #n-уровневая архитектура

Вопрос:

 autoComplete1.ServiceMethod = objdpt.LoadDpt(prefix); 
  

aspx.cs код файла .. вызов loaddpt функции

 public string LoadDpt(string prefixtext)
{
    //Functionality : AutoComplete The DepartmentName
    ArrayList  arlSample = new ArrayList();
    arlSample = objDataAccess.GetSingleColumn("QRY_DeptName", prefixtext);
    return arlSample;
    //string[] strArray = arlSample.ToArray(typeof(string)) as string[];   
}
  

выше приведен код файла bll. вызов getsinglecolum функции

 public ArrayList GetSingleColumn(string strQuery, params object[] objValueList)
{ 
    ArrayList arlData = new ArrayList();
    try
    {
        string strQry;
        strQry = ReadXmlvalue(strQuery, objValueList);
        cmdHrm = new OleDbCommand();
        cmdHrm.Connection = conHrmDb;
        if (conHrmDb.State == ConnectionState.Closed)
            conHrmDb.Open();
        cmdHrm.CommandText = strQry;
        drdHrm = cmdHrm.ExecuteReader();

        while (drdHrm.Read())
        {
            arlData.Add(drdHrm.ToString());
        }
        return arlData;
    }
    catch (Exception ex)
    {
        throw ex;
    }
    finally
    {
        if (conHrmDb.State == ConnectionState.Open)
            conHrmDb.Close();
    }
}
  

выше приведен код файла dal.
я хочу вернуть строку в aspx.cs файл ..помогите, пожалуйста

Ответ №1:

Если вы хотите преобразовать список массивов в массив строк, вы можете использовать:

  IEnumerable<string> strings = arlSample.Cast<string>();
 string[] result = strings.ToArray();
  

Если вы хотите объединить все элементы, чтобы вы могли возвращать одну строку, вам следует использовать:

  string resultString = String.Concat(strings);
  

Комментарии:

1. я не хочу объединять .. но каждая строка должна возвращаться отдельно

2. Затем верните результирующий массив строк. Это вернет каждую строку отдельно. Вы не можете вернуть несколько результатов из одной функции, за исключением случаев, когда вы используете что-то вроде итератора с ‘yield’.

3. но для вызова функции требуется только строка, а не массив строк ..вот с какой проблемой я сталкиваюсь

4. Вы не можете вернуть несколько строк для функции, которая ожидает только одну строку. Что именно вы пытаетесь сделать? Пожалуйста, отредактируйте свой пост с дополнительной информацией.