📄 string.cs
字号:
using System;
using System.Collections.Generic;
namespace SMPP.Variable
{
/// <summary>
/// 定长字符串类型
/// </summary>
public class String : Binary
{
/// <summary>
/// 编码类型字段索引
/// </summary>
private int EncodingFieldIndex = -1;
private System.Text.Encoding Encoding = System.Text.Encoding.ASCII;
/// <summary>
/// 字符串值
/// </summary>
public new string Value
{
get
{
System.Text.Encoding Encoder = EncodingFieldIndex == -1 ? this.Encoding : (Owner[EncodingFieldIndex] as Encoding).Encoder;
int len = Array.IndexOf(_Value, (byte)0);
return Encoder.GetString(_Value, 0, len == -1 ? _Value.Length : len);
}
set
{
System.Text.Encoding Encoder = EncodingFieldIndex == -1 ? this.Encoding : (Owner[EncodingFieldIndex] as Encoding).Encoder;
base.Value = Encoder.GetBytes(value);
}
}
/// <summary>
/// 创建定长字符串实例
/// </summary>
/// <param name="Length">长度</param>
/// <param name="EncodingFieldIndex">编码器字段索引</param>
public String(int Length, int EncodingFieldIndex)
: base(Length)
{
this.EncodingFieldIndex = EncodingFieldIndex;
}
/// <summary>
/// 创建定长字符串实例
/// </summary>
/// <param name="Length">长度</param>
public String(int Length)
: base(Length)
{
this.EncodingFieldIndex = -1;
}
/// <summary>
/// 创建定长字符串实例
/// </summary>
/// <param name="Length">长度</param>
/// <param name="Encoding">编码器类型</param>
public String(int Length, System.Text.Encoding Encoding)
: base(Length)
{
this.EncodingFieldIndex = -1;
this.Encoding = Encoding;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -