.NET 2.x Сложности с переносом метода из сервиса в клиент в веб-сервисе - C#

Узнай цену своей работы

Формулировка задачи:

Есть веб сервис "Service.cs" и клиент "Form.cs"(windows form). Не получается перенести метод из сервиса в клиент (при выводе массива пишет Int32[]). Как исправить? Service.cs
using System;
using System.Web.Services;
 
public class Service
{
    [WebMethod]
    public int[] Main(string str1, string str2)
    {
        string[] str3 = str1.Split(' '); //Возвращает строковый массив без пробелов
        string[] str4 = str2.Split(' ');
 
        int[] arr1;// массив 1 
        int[] arr2;// массив 2 
 
        arr1 = new int[str3.Length]; // длина массива
        arr2 = new int[str4.Length];
 
        for (int i = 0; i < str3.Length; i++)
            arr1[i] = int.Parse(str3[i]); //Преобразовывает строковое представление числа в эквивалентное ему 32-битовое знаковое целое число
        for (int i = 0; i < str4.Length; i++)
            arr2[i] = int.Parse(str4[i]);
 
        return MergeSort(arr1, arr2);
    }
       public int[] MergeSort(int[] left, int[] right)
    {
        int[] buff = new int[left.Length + right.Length];//буфер для отсортированного массива
        //счетчики длины трех массивов
        int i = 0;  //соединенный массив
        int l = 0;  //левый массив
        int r = 0;  //правый массив
 
        //сортировка сравнением элементов
        for (; i < buff.Length; i++)
        {
            //если правая часть уже использована, дальнейшее движение происходит только в левой
            //проверка на выход правого массива за пределы
            if (r >= right.Length)
            {
                buff[i] = left[l];
                l++;
            }
            //проверка на выход за пределы левого массива
            //и сравнение текущих значений обоих массивов
            else if (l < left.Length & left[l] < right[r])
            {
                buff[i] = left[l];
                l++;
            }
       //если текущее значение правой части больше
            else
            {
                buff[i] = right[r];
                r++;
            }
        }
        return buff;
    }
}
Form.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using WindowsFormsApplication1.localhost;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
    
            Service sort = new Service();
           // textBox1.Text = "Отсортированный массив: \n" + sort.Start(textBox1);
           // sort.Main(textBox1.Text, textBox2.Text);
            string str1 = textBox1.Text;
            string str2 = textBox2.Text;

            label1.Text = "Массив ="+Convert.ToString(sort.Main(str1, str2));

        }
    }
}

Решение задачи: «.NET 2.x Сложности с переносом метода из сервиса в клиент в веб-сервисе»

textual
Листинг программы
Service sb = new Service();
            int [] a=sb.Main(str1,str2);
            string str3;
             for (int i=0; i < a.Length; i++)
             { str3 = Convert.ToString(a[i]); }
          
               label1.Text = "Массив"+str3;
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы