code/DataType/DataTypeItem2d.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
namespace WR_Excel
{
public class DataTypeItem2d : DataType
{
char defaultChar = '_';
//二维数组,原则上必须指定分隔符,先用sp1分割,再用sp2分割
//如果没有指定,则需要从text中推测
(char sp1, char sp2) splitChars = (';', ';');
public DataTypeItem2d(string desp, string name, string fieldType, int col) : base(desp, name, fieldType, col)
{
//item[|;]
if (fieldType.Length == 8)
{
splitChars.sp1 = fieldType[5];
splitChars.sp2 = fieldType[6];
}
}
public override EnumType Type => EnumType.Item2d;
public override string TypeString => "List<(int type, int id, int num)[]>";
public override string ConvertMethod => "Data2ItemArrList()";
public override bool CheckValid(string text)
{
if (splitChars.sp1 == splitChars.sp2)
{
splitChars = GetSplitChar(text);
}
string[] arr2 = text.Split(splitChars.sp1);
for (int i = 0; i < arr2.Length; i++)
{
var arr1 = arr2[i].Split(splitChars.sp2);
for (int j = 0; j < arr1.Length; j++)
{
if (!StringHelper.Is3Int(arr1[i], defaultChar))
return false;
}
}
return true;
}
//1_2_3;4_5_6;7_8_9=>[[1,2,3],[4,5,6],[7,8,9]]
public override string GetJsonString(string text,int ident)
{
text = text.Replace(splitChars.sp1.ToString(), "],[");
text = text.Replace(splitChars.sp2.ToString(), ",");
return $"[[{text}]]";
}
private (char, char) GetSplitChar(string text)
{
char split1d = '|';
char split2d = ';';
//item[|,]
if (FieldType.Length == 8)
{
后面还有 31 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
