.NET 2.x Сложности с переносом метода из сервиса в клиент в веб-сервисе - C#
Формулировка задачи:
Есть веб сервис "Service.cs" и клиент "Form.cs"(windows form). Не получается перенести метод из сервиса в клиент (при выводе массива пишет Int32[]). Как исправить?
Service.cs
Form.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;
}
}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;
}