小编use*_*383的帖子

检查对象是否是字典或列表

使用单声道的.NET 2,我使用的是一个JSON返回嵌套字符串,对象字典和列表的基本库.

我正在编写一个mapper来将它映射到我已经拥有的jsonData类,我需要能够确定a的基础类型object是Dictionary还是List.下面是我用来执行此测试的方法,但是想知道这是否更干净?

private static bool IsDictionary(object o) {
    try {
        Dictionary<string, object> dict = (Dictionary<string, object>)o;
        return true;
    } catch {
        return false;
    }
}

private static bool IsList(object o) {
    try {
        List<object> list = (List<object>)o;
        return true;
    } catch {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用的库是,litJsonJsonMapper该类基本上不适用于iOS,因此我正在编写自己的映射器.

c# generics mono json

15
推荐指数
2
解决办法
3万
查看次数

如何将xmldocument保存到流中

我已经编写了代码来解析我的xml文件,XmlReader所以我不想重写它.我现在已经为程序添加了加密功能.我有encrypt()和decrypt()函数,它们采用xml文档和加密算法.我有一个使用xml阅读器来解析文件的函数,但现在使用xml文档我不知道如何创建xmlreader.

问题是如何将我的xml文档保存到流.我确信它很简单,但我对流不了解.

XmlDocument doc = new XmlDocument();
        doc.PreserveWhitespace = true;
        doc.Load(filep);
        Decrypt(doc, key);

        Stream tempStream = null;
        doc.Save(tempStream);   //  <--- the problem is here I think

        using (XmlReader reader = XmlReader.Create(tempStream))  
        {
            while (reader.Read())
            { parsing code....... } }
Run Code Online (Sandbox Code Playgroud)

c# xmldocument xmlreader

12
推荐指数
1
解决办法
5万
查看次数

从二进制文件c ++中读取一个以null结尾的字符串

正如标题所示,我正在尝试从二进制文件中读取空终止字符串.

std::string ObjElement::ReadStringFromStream(std::ifstream &stream) {
    std::string result = "";
    char ch;
    while (stream.get(ch) != '\0') {
        result += ch;
    }
    return result; }
Run Code Online (Sandbox Code Playgroud)

我的空字符是'\ 0'

但是每当我调用它的方法时,它就会读到文件的末尾

std::ifstream myFile(file, std::ios_base::in | std::ios_base::binary);
myFile.seekg(startByte);

this->name = ObjElement::ReadStringFromStream(myFile);
Run Code Online (Sandbox Code Playgroud)

知道我在这里做错了吗?

c++ fstream

1
推荐指数
2
解决办法
2863
查看次数

标签 统计

c# ×2

c++ ×1

fstream ×1

generics ×1

json ×1

mono ×1

xmldocument ×1

xmlreader ×1