[简单问题]使用了未赋值的局部变量

aspxcss 2011-10-18 11:38:47
//利用正则筛选手机号
public string getPhone(string str)
{
try
{
string _str;
Regex Expression = new Regex("13[0-9]{9}|15[0-9]{9}");
MatchCollection match = Expression.Matches(str);
foreach (Match m in match)
{
_str= m.Value;
}
return _str;
}
catch (Exception ex)
{
return ex.Message;
}
}


调用:<%= getPhone(strDianHua) %>

错误提示:编译器错误消息: CS0165: 使用了未赋值的局部变量“_str”

...全文
372 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
aspxcss 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 laowang134 的回复:]
引用 2 楼 aspxcss 的回复:
引用 1 楼 wknight_it 的回复:
string _str = string.Empty;

不报错了,但是没有正确返回内容。

怎么个不正确法?是不是只取到最后一个??
[/Quote]
foreach (Match m in match)
{
_str= m.Value;
}

这个没执行。
laowang134 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 aspxcss 的回复:]
引用 1 楼 wknight_it 的回复:
string _str = string.Empty;

不报错了,但是没有正确返回内容。
[/Quote]
怎么个不正确法?是不是只取到最后一个??
SomethingJack 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liue_0612 的回复:]

string _str="";
[/Quote]
+1
liue_0612 2011-10-18
  • 打赏
  • 举报
回复
string _str="";
aspxcss 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wknight_it 的回复:]
string _str = string.Empty;
[/Quote]
不报错了,但是没有正确返回内容。
风骑士之怒 2011-10-18
  • 打赏
  • 举报
回复
string _str = string.Empty;
laowang134 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 aspxcss 的回复:]
还有就是固定电话匹配不出来。
[/Quote]
你正则里面只能匹配13和15开始后面跟9为数字的字符串。。。
ChinaXtHuLang 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 hhqsy 的回复:]
C# code

public string getPhone(string str)
{
try
{
string _str;
Regex Expression = new Regex("13[0-9]{9}|15[0-9]{9}");
MatchCollection match = Expression.Matches(str);
foreach ……
[/Quote]
+1

string _str = string.Empty;









论坛签名======================================================================

aspxcss:你好!
截至 2011-10-18 11:38:47 前:
你已发帖 89 个, 未结贴 3 个;
结贴率为: 96.63%

当您的问题得到解答后请及时结贴.

http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html

如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖

如何给自己的回帖中也加上签名?
http://blog.csdn.net/q107770540/archive/2011/03/15/6250007.aspx
Adechen 2011-10-18
  • 打赏
  • 举报
回复
没有匹配到,foreach没有执行
return 了 _str
  • 打赏
  • 举报
回复

public string getPhone(string str)
{
try
{
string _str;
Regex Expression = new Regex("13[0-9]{9}|15[0-9]{9}");
MatchCollection match = Expression.Matches(str);
foreach (Match m in match)
{
_str+= m.Value+",";
}
return _str;
}
catch (Exception ex)
{
return ex.Message;
}
}
string str=getPhone(strDianHua);
string [] phones=str.Trim(',').Split(',');





aspxcss 2011-10-18
  • 打赏
  • 举报
回复
还有就是固定电话匹配不出来。
laowang134 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 aspxcss 的回复:]
正确了,是我的问题
页面上有两上panel,把第一个改了,第二个没改。

谢谢了,

还有个小问题,就是只返回了最后一个电话号码。
[/Quote]
foreach (Match m in match)
{
_str= m.Value;
}

你每次循环都重新赋值了。
aspxcss 2011-10-18
  • 打赏
  • 举报
回复
正确了,是我的问题
页面上有两上panel,把第一个改了,第二个没改。

谢谢了,

还有个小问题,就是只返回了最后一个电话号码。
风骑士之怒 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 aspxcss 的回复:]
引用 1 楼 wknight_it 的回复:
string _str = string.Empty;

不报错了,但是没有正确返回内容。
[/Quote]

没返回正确内容是你自己正则的问题,这属于另一问题范畴了,贴出你的测试代码
laowang134 2011-10-18
  • 打赏
  • 举报
回复
using System;
using System.Net;
using System.Collections.Generic;
using System.Xml;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApplication13
{
class Program
{
static void Main(string[] args)
{
try
{
string _str = string.Empty;
string str = "1391235467815845678954";
Regex Expression = new Regex("13[0-9]{9}|15[0-9]{9}");
MatchCollection match = Expression.Matches(str);
foreach (Match m in match)
{
_str = m.Value;
}
Console.WriteLine(_str);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

}
}
}
/*
* 15845678954
*/
完全可以啊。。。

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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