qq_42462259 2018-11-07 14:21 采纳率: 100%
浏览 517
已采纳

c#冒泡程序用到public class的时候,怎么返回整个数组?

我用的vs2012,代码如下,可能还会有其他问题。。。

    ///下面是自定义类
        public class paopao

{
public int[] strToInt(string[] arr)
{
int[] output = new int[arr.Length];
for (int i = 0; i < arr.Length; i++)
{
output[i] = int.Parse(arr[i]);
}
return output;
}

public int maopao(int[] arr)
{
    for (int i = 0; i < arr.Length - 1; i++)
    {
        if (arr[i] > arr[i + 1])
        {
            int k = arr[i];
            arr[i] = arr[i + 1];
            arr[i + 1] = k;
        }
    }

///此处缺少return语句,需要return冒泡排序后的数组,不知道怎么弄

///下为主程序
public partial class paixv : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void maopao_Click(object sender, EventArgs e)
{
    string strArr = shuzu.Text;
    string[] strarr = strArr.Split(',');
    paopao arr = new paopao();
    int[] intArr = arr.strToInt(strarr);

///上面那一句也有报过错,现在不知道对不对
result.Text = "result:" + arr.ToString();

}

}

}
  • 写回答

1条回答 默认 最新

  • threenewbee 2018-11-07 16:09
    关注
     public class paopao
    {
    public int[] strToInt(string[] arr)
    {
    return arr.Select(x => int.Parse(x)).ToArray();
    }
    
    public int[] maopao(int[] arr1)
    {
        int[] arr = arr1.ToArray();
            for (int j = 0; j < arr.Length - 1; j++)
            {
        for (int i = j; i < arr.Length - 1; i++)
        {
            if (arr[i] > arr[i + 1])
            {
                int k = arr[i];
                arr[i] = arr[i + 1];
                arr[i + 1] = k;
            }
        }
            }
            return arr;
    }
    
    调用
    
    string strArr = shuzu.Text;
        string[] strarr = strArr.Split(',');
        paopao arr = new paopao();
        int[] intArr = arr.strToInt(strarr);
    int[] result = arr,maopao(intArr);
    result.Text = "result:" + string.Join("," , result.Select(x => x.ToString()));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?