如何在两个类之间传递字符串数组

czsd 2003-03-26 08:54:05
我作了个类,要在form里调用这个类的一个方法,返回一个字符串数组,不知道用什么方法实现
...全文
78 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
firewing 2003-03-26
  • 打赏
  • 举报
回复
其实DataReader本身就是一个ArrayList!
DropDownList ddlSample;
IDataReader dr;

ddlSample.DataSource=dr;
ddlSample.DataTextField="Text"
ddlSample.DataValueField="Value";
Knight94 2003-03-26
  • 打赏
  • 举报
回复
or
http://expert.csdn.net/Expert/topic/1576/1576415.xml?temp=.5275843
Knight94 2003-03-26
  • 打赏
  • 举报
回复
其实.net中的帮助这方面说得挺详细的,我当时开始用C#,也是看帮助,还有sample。
czsd 2003-03-26
  • 打赏
  • 举报
回复
非常感谢上面的朋友,我接触C#没多常时间,现在主要用到 ADO.net来开发数据库程序,看了很多书,讲的和笼统,或者没有抓出重点,提纲切领,想问一下 那里有关于ADO.net 的介绍和教程的ebook ,谢谢各位了
Knight94 2003-03-26
  • 打赏
  • 举报
回复
为什么不用DataAdapter和DataSet,这样就用考虑那么多麻烦的事情
timmy3310 2003-03-26
  • 打赏
  • 举报
回复
如果你使用DataReader来把数据构造到一个数组,实际上你可以不用获得select的行数,而直接使用动态数组来做:
//using System.Collection;

ArrayList list = new ArrayList();

while( reader.Read() )
{
string someField = reader["FieldA"].ToString();
list.Add( someField );
}

string[] str = (string[])list.ToArray( typeof(string) );
czsd 2003-03-26
  • 打赏
  • 举报
回复
谢谢
我看了,我用icount=sqlcedatareader.rowsaffect来返回 selcet出来的行数,是-1,
我是用 string[] str=new string[icount]来初始化数组的,当然出错了,可不知道怎样从sqlcedatareader里返回select 的行数,这个问题另外加分
timmy3310 2003-03-26
  • 打赏
  • 举报
回复
数组本身是传递引用的

但是数组里面的对象就要看是值类型还是引用类型

可以通过参数传递数组

string[] str;
str=new string[100];
这样是正确的,错误应该出在你后面的代码
loveprograming 2003-03-26
  • 打赏
  • 举报
回复
来晚了...
czsd 2003-03-26
  • 打赏
  • 举报
回复
谢谢上面的,好象用字符数组是一定要先初始化,可又不知道他的大小
我这样写 : string[] str;
str=new string[100];
旧会出错
还有,可不可以通过参数传递字符串数组, 用引用还是字符串数组本身是传地址的(和c++一样)
TheAres 2003-03-26
  • 打赏
  • 举报
回复
这样写:
class ClassA
{
public string[] MyFun()
{
string[] a = {"a","b"};
return a;
}
}

这样用:
ClassA a = new ClassA();
string[] s = a.MyFun();
saucer 2003-03-26
  • 打赏
  • 举报
回复
string[] func1()
{
string[] s = {"1","2","3"};
return s;
}

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧