搜索墙首页  编程技术  java  asp  ajax  php  c/c#/c++  数据库  oracle  mysql  db2  操作系统  windows  linux  股吧
首页 > 编程 > C#/C/C++
 1         
1楼  jianshao810 2008-12-26 23:09:40

  foreach (string s in citys)
            {
                List <string> tmpList =content.FindAll(delegate(string st) { if (st.Split(',')[st.Split(',').Length-1].CompareTo(s) == 0) return true; else return false; });
                DataTable dt = CreateTable(tmpList, content[0]);
                TableToExcel(dt,s);
            }

问题:
List <string> tmpList =content.FindAll(delegate(string st) { if (st.Split(',')[st.Split(',').Length-1].CompareTo(s) == 0) return true; else return false;
这里的匿名方法里的参数st怎么样知道是content里的成员呢?这是固定的吗?
一句话,就是说我不知道编译器是怎么样知道st是用什么值。
2楼  weiloe 2008-12-26 23:33:23

st 值就是findall转过来的值
3楼  net5i 2008-12-26 23:39:06

这里的匿名方法里的参数st怎么样知道是content里的成员呢?
楼主的content变量肯定也是 List <string> 类型的,List <T>泛型的方法FindAll内使用的匿名委托的参数值st是该FindAll方法自动枚举content里面的所有值

这是固定的吗?
对于List <T>这类泛型,是固定的
4楼  much0726 2008-12-27 10:43:37

结帖率:109.52%
5楼  net5i 2008-12-27 10:55:46

如果搂主还没明白的话,再补充一下,
楼主要理解List <T>泛型的FindAll方法的原理:它内部是进行循环匹配比较的,然后它每循环一次,都会回调一次我们传入的这个匿名委托,然后这个委托就是执行我们自定义的这个匹配条件的

你想想,FindAll方法内部如果不把这个st参数传出来给我们的话,那么我们怎么设置这个匹配条件呢?楼主明白了这一点,也就理解了st参数是怎么回事
6楼  jianshao810 2008-12-27 13:33:56

net5i
你说出了大概意思 啦,我昨晚看书时知道把一个委托作为参数是让调用这个委托里的函数调用的。关键是知道findall里的代码。我现在知道它的原理啦。
觉得说它是事件也可以吧?也可以说是回调吧?
我的说法对吗?
7楼  net5i 2008-12-27 13:36:59

对的
8楼  net5i 2008-12-27 13:41:31

参数st就是:FindAll内部的循环,通过回调的方式,传出来给我们用的
然后我们使用这个st和自己的值进行比较,然后把本次比较结果再返回给FindAll回调的地方
FindAll发现结果是true那么就把当前的st添加到结果List里面
9楼  WarriorG 2008-12-30 10:34:09

我的泛型的弄不好了
10楼  222.247.53.* 2010-04-25 10:31:28

??????绮鹃???绉??瑷???汉???涓??浠e????绋??锛?环?间????璐ㄩ?淇??,???涓?娴???????被绋??璇??锛?ava,C/C++/姹??/Basic/Java/JSP/C#/Delphi/Asp.net/asp/erlang/python/foxpro; 涓昏???负瀹㈡????璁㈠?涓??锛??浠ユ?渚??涓??搴????/璇剧?璁捐?/姣??璁捐?/?ㄩ┈澶??寮???/绋???磋В锛?敞???锛?/绋??姹??/???纭?+澶у?璁烘?/OPENGL/matlab/绮惧?璇剧?/?靛????/缃??璁捐?锛?凡缁?互涓哄箍澶х??疯??朵???釜??被绋??锛??杩??璇????浠???e???负瀹㈡???韩璁㈠?锛????浆???浠锋?涓????渚垮????浣?川??????濂界????????????浠?286431676@qq.com锛?Q:286431676??????绾匡???璇锋敞???绋??浠e???
11楼  222.247.53.* 2010-04-25 10:31:42

asasasd
 1         
您的发言将按有关规定都会存档,您须为所发表后果负责,请您遵纪守法并注意语言文明。
标题:c# 匿名方法 泛型委托 List<string>
热门关注
标题回复点击
c# 匿名方法 泛型委托 List<string>101615
我今年28了开始学C#,有前途吗?97831
c++ 输出图像到网页0519
OnServerclick 如何用ctrl+enter提交表单(分不够了)0489
C#技术资料 教程0488
c++ 中使用ChartDirector输出图表的网页0462
在C#中如何通过拼IP地址检测某台机器的网络连接是否畅通4457
各位哪里有下载 Visio 20051448
XPath Example<2>0378
做个调查,有多少人用C#做WINFORM?199349
搜索墙@2009 www.pkwall.com all rights reserved QQ:276471788 [京ICP备09111534号]
声明:本站部分数据来源于网络,仅供参考,如有版权问题,请联系我们,我们将及时删除!转载本站请注明来源