XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEExtension

【DLL】XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等

公开
关注 0 Fork 0 Star 0
UTF-8
namespace XFEExtension.NetCore.FormatExtension;

/// <summary>
/// XFE条目
/// </summary>
/// <param name="header">头</param>
/// <param name="content">内容</param>
public class XFEEntry(string header, string content)
{
    /// <summary>
    /// 头
    /// </summary>
    public string Header { get; set; } = header;
    /// <summary>
    /// 内容
    /// </summary>
    public string Content { get; set; } = content;
    /// <summary>
    /// 转换为字符串
    /// </summary>
    /// <returns></returns>
    public override string ToString()
    {
        return $"|{{+-[+-{Header.Replace("[+", "[++").Replace("+]", "++]").Replace("|{+", "|{++").Replace("+}|", "++}|")}-+][+-{Content.Replace("[+", "[++").Replace("+]", "++]").Replace("|{+", "|{++").Replace("+}|", "++}|")}-+]-+}}|";
    }
    /// <summary>
    /// 将字符串转化为条目对象
    /// </summary>
    /// <param name="entryString"></param>
    /// <returns></returns>
    public static XFEEntry? ToEntry(string entryString)
    {
        var messages = entryString.Split(XFEDictionary.DictionarySeparator, StringSplitOptions.None);
        foreach (var message in messages)
        {
            var xFEDictionaryString = message.Split(XFEDictionary.EntrySeparator, StringSplitOptions.None);
            if (xFEDictionaryString.Length == 5)
            {
                return new XFEEntry(xFEDictionaryString[1].Replace("[++", "[+").Replace("++]", "+]").Replace("|{++", "|{+").Replace("++}|", "+}|"), xFEDictionaryString[3].Replace("[++", "[+").Replace("++]", "+]").Replace("|{++", "|{+").Replace("++}|", "+}|"));
            }
        }
        return null;
    }
}