日期:2014-05-17  浏览次数:20802 次

思考了一段时间,不知道c#这个问题怎么处理
各位高手思考了几天,不知道c#这个问题怎么处理

就是将tb1文本框里输入的带空格的字符
输出到tb2文本框里删除掉文本框
可是奇怪的是,tb2文本框里老出现
“system.Collections.ArrayList”
这样的字样,很奇怪
请各位指导!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;

namespace 空格
{
  public partial class Form1 : Form
  {
  public Form1()
  {
  InitializeComponent();
  }

  private void Form1_Load(object sender, EventArgs e)
  {

  }

  private void TC(object sender, EventArgs e)
  {
  Char[] cr = tb1.Text.ToCharArray();
  ArrayList at = new ArrayList();
  int j=tb1.Text.Length;
  for (int i = 0;i< j; i++)
  {
  if (cr[i] !=' ')
  {
  at.Add(cr[i]);
  }
  }
  tb2.Text = at.ToString();
  }
  }
}

------解决方案--------------------
没太明白 你说的删除掉文本框是什么意思
------解决方案--------------------
ArrayList的ToString使用默认实现,就是返回“System.Collections.ArrayList”,如果你需要由ArrayList构造字符串,可以将ArrayList转为char[],然后通过String类的构造函数得到字符串。
不过对于你的需求,有更简单的方法,比如:
C# code
tb2.Text = new String(tb1.Text.Where(c => c != ' ').ToArray()); //需要添加using System.Linq;需要.Net 3.5以上

------解决方案--------------------
tb2.Text = tb1.Text.Replace(" ", "");
------解决方案--------------------
探讨

ArrayList的ToString使用默认实现,就是返回“System.Collections.ArrayList”,如果你需要由ArrayList构造字符串,可以将ArrayList转为char[],然后通过String类的构造函数得到字符串。
不过对于你的需求,有更简单的方法,比如:
C# code
tb2.Text = new String(tb1.Text.Where(c => ……