为什么取的是空值?

zkvistor 2009-02-22 12:24:54
用三层做得一个项目,Model层的Venshop_hwInfo 类有一个属性
public string hw_pic
{
set { _hw_pic = value; }
get { return _hw_pic.Split ('*')[0]; }
}
hw_pic是存储图片路径,数据库中的格式为*pic/0808090001.jpg*pic/08080900011.jpg,在页面绑定只需要显示一张图片,所以在属性里就用
_hw_pic.Split ('*')[0] 让其返回第一张图片,但是调试的时候发现 _hw_pic="*pic/0808090001.jpg*pic/08080900011.jpg",但是 get里却显示为空,在页面上 用
Venshop_hwInfo hw=new Venshop_hwInfo();
hw.hw_pic显示的也是空字符串,不知道是什么引起的?
...全文
73 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cppfaq 2009-02-22
  • 打赏
  • 举报
回复
get{
string []splits = _hw_pic.Split('*');
string result = Array.Find(splits, delegate(string s)
{
return !string.IsNullOrEmpty(s);
});
return result;
}
hechenqingtian 2009-02-22
  • 打赏
  • 举报
回复
只是对象属性啊, 要取值的时候要先赋值,如果不赋值肯定取不到值啦

比如:
public class Person
{
private string _name;
public string Name
{
get{return this._name;}
set{this._name=value;}
}
}

如果直接这样取值 -name 是没有初始化的,没有给它赋值肯定取不到值
赤色火焰 2009-02-22
  • 打赏
  • 举报
回复
_hw_pic.Split ('*')[1]这样试试
以“*”号分隔,第一个就是空字符
  • 打赏
  • 举报
回复
单独试试你的截取的方法 看看能不能获取到值
zkvistor 2009-02-22
  • 打赏
  • 举报
回复
的确 _hw_pic.Split ('*')[0] 第一个时空字符,从第二个,第三个开始才有值,
弱智啊 哈哈。。。
散分
hb0513 2009-02-22
  • 打赏
  • 举报
回复
up 自己先调试下 就知道什么问题了
Terry717 2009-02-22
  • 打赏
  • 举报
回复

public string hw_pic
{
set { _hw_pic = value; }
get
{
return _hw_pic.Split ('*')[1]; // 这里为[1], [0]取到的值为*前面的字符串("")
}
}

长风大侠_B 2009-02-22
  • 打赏
  • 举报
回复
只有属性的封装
但是没有字段啊
看看有没有啊
SealedLove 2009-02-22
  • 打赏
  • 举报
回复
*pic/0808090001.jpg*pic/08080900011.jpg
_hw_pic.Split ('*')[1] 数组中下标1的才是后面的字符串 下标0的是空


_hw_pic.Split ('*')[0] = ""
_hw_pic.Split ('*')[1] = "pic/08080900011.jpg"

62,047

社区成员

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

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

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

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