C# 将string转换为byte

privatebyte[]mContentVersion;publicbyte[]ContentVersion{get{returnthis.mContentVersio... private byte[] mContentVersion;
public byte[] ContentVersion
{
get { return this.mContentVersion; }
set { this.mContentVersion = System.Text.Encoding.Default.GetBytes( MainForm.mMainForm.ContentInfoSetForm.Version); }
}

我可以取到version的值, 但mContentVersion提示为不存在,请问大神们这是为何
展开
 我来答
百度网友eb6ab18
2018-04-24 · TA获得超过585个赞
知道小有建树答主
回答量:1068
采纳率:83%
帮助的人:254万
展开全部
你的代码不完整,但仅从现有的来看,你的set访问器并不使用value,而是使用固定值,那就造成一个问题,只要你不对ContentVersion属性赋值,set访问器就不会执行,你预期的对 this.mContentVersion赋值的行为就没有发生,所以mContentVersion没有值。不然你试试加一条语句:
XXX(你的类实例).ContentVersion = new byte[]();
然后再查看mContentVersion,就有值了。有意思的是,new byte[]()并没有交给mContentVersion,因为你的set访问器压根就不理会它。
总的来说,这种写法是有害的,对于这种场景,你应当在构造函数中或自动初始化(c# 6.0以上)时对mContentVersion赋值。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式