小编Col*_*nic的帖子

在C#中处理非英文字符

我需要了解字符集和编码.有人能指出我在C#中处理不同的字符集吗?

这是我面临的一个问题 -

        using (StreamReader reader = new StreamReader("input.txt"))
        using (StreamWriter writer = new StreamWriter("output.txt")
        {
            while (!reader.EndOfStream)
            {
                writer.WriteLine(reader.ReadLine());
            }
        }
Run Code Online (Sandbox Code Playgroud)

这个简单的代码片段并不总是保留编码 -

例如 -

输入中的Aukéna在输出中变成了Auk�na.

c# character-encoding streamwriter streamreader

3
推荐指数
1
解决办法
2094
查看次数

为什么通过函数指针调用成员函数时需要"this"前缀?

AFAIK,在C++中,在同一个类的函数成员中调用另一个成员函数不应该需要"this"前缀,因为它是隐式的.但是,在使用函数指针的特定情况下,编译器需要它.仅当我通过func指针包含调用的"this"前缀时,以下代码才能正确编译 -

当使用函数指针时,编译器可以在它指向同一个类的成员函数时推断出它吗?

class FooBar 
{
private: 
    int foo;

public:  

    FooBar()
    {
        foo = 100;
    }

    int GetDiff(int bar)
    {
        return abs(foo - bar);
    }

    typedef int(FooBar::*MyFuncPtr)(int); 

    void FooBar::Bar()
    {       
        MyFuncPtr f = &FooBar::GetDiff;
        (this->*f)(10);
        GetDiff(10);
    }

};
Run Code Online (Sandbox Code Playgroud)

c++ member-function-pointers this

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