Tag: C#的

在C#WebBrowser中加载本地HTML文件

在我的应用程序中,我有一个WebBrowser元素。 我想加载一个本地文件。 我有一些疑问: 放置HTML文件的位置(以便在用户执行设置时也会安装) 如何引用该文件? (例如,我的猜测是用户的安装文件夹不总是相同的) 编辑 我已经将HTML文件添加到我的项目中。 我已经设置它,以便它被复制到输出文件夹。 当我检查它时运行:\ bin \ Debug \ Documentation \ index.html 但是,当我做到以下我得到一个“页面无法显示”错误在webbrowser元素。 我使用下面的代码尝试在Web浏览器中显示HTML文件。 webBrowser1.Navigate(@".\Documentation\index.html");

在C中的结构中填充

这是一个面试问题。 到目前为止,我曾经认为这些问题纯粹是依赖于编译器的,不应该担心,但是现在,我对此很好奇。 假设你有两个结构: struct A { int* a; char b; } 而且, struct B { char a; int* b; } 那么你更喜欢哪一个?为什么? 我的回答是这样的(虽然我有点在黑暗中拍摄),第一个结构应该是首选的,因为编译器为结构分配了一定数量的字大小的空间(这是指针的大小–32字节的4个字节位机器和64位的8个字节)。 所以,对于这两个结构编译器将分配8个字节(假设它是一个32位的机器)。 但是,在第一种情况下,填充会在所有variables之后完成(即在a和b之后)。 所以即使有一些机会,b会得到一些溢出的值,并破坏我的下一个填充字节,但是我的a仍然是安全的。 他似乎并不高兴,并要求在第二个结构的一个缺点。 我没有太多的话要说。 :d 请帮我解答。

使用C#发送电子邮件

我需要通过我的C#应用​​程序发送电子邮件。 我来自VB 6的背景,并有很多与MAPI控制不好的经验。 首先,MAPI不支持HTML电子邮件,其次,所有电子邮件都发送到我的默认邮件发件箱。 所以我还是需要点击发送接收。 如果我需要发送大量的HTML格式电子邮件(100 – 200),那么在C#中执行此操作的最佳方法是什么? 提前致谢。

C ++中的静态variables

我想知道什么是一个头文件中的静态variables与在类中声明的区别。 在头文件中声明静态variables时,其范围限于.h文件或所有单元。 也一般静态variables是在.cpp文件中初始化时声明在一个类权利? 那么这是否意味着静态variables范围仅限于2个编译单元?

将BitmapImage转换为位图,反之亦然

我有C#中的BitmapImage。 我需要对图像进行操作。 例如灰度,在图像上添加文字等 我已经find了函数在灰度计算接受位图并返回位图的计算器。 所以我需要将BitmapImage转换为位图,做操作并转换回来。 我该怎么做? 这是最好的方法吗?

你如何获得在C目录列表?

你如何扫描C目录中的文件夹和文件? 它需要是跨平台的。

Q_OBJECT抛出'未定义的引用vtable'错误

我在Windows 7 Ultimate 32位上使用Qt Creator 2.0.1和Qt 4.7.0(32位)。 考虑下面的代码,这是产生错误的最小值: class T : public QObject, public QGraphicsItem { Q_OBJECT public: T() {} QRectF boundingRect() const {return QRectF();} void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) {} }; int main() { T t; return 0; } 上面的代码片段导致以下链接器错误: 在函数“T”中: 未定义的引用'vtable for T' 未定义的引用'vtable for T' 在函数'〜T'中: 未定义的引用'vtable for T' […]

如何在Linux中捕捉分段错误?

我需要捕获第三方库清理操作中的分段错误。 有时候会在我的程序退出之前发生,而我无法解决这个问题的真正原因。 在Windows编程中,我可以用__try – __catch来做到这一点。 是否有跨平台或平台特定的方式来做同样的事情? 我需要在Linux,gcc。

在C ++中的尾recursion

有人能告诉我一个简单的尾recursion函数在C + +? 为什么尾部recursion更好呢? 还有什么其他types的recursion除了尾recursion吗?

“想要速度? 按价值传递“

如我错了请纠正我。 说我有: struct X { std::string mem_name; X(std::string name) : mem_name(std::move(name)) {} … }; struct Y { std::string mem_name; Y(const std::string &name) : mem_name(name) {} … }; 在X的ctor中, name显然是传给X的任何参数的拷贝, X调用std::string ctor来初始化mem_name ,对吗? 我们称之为复制 – 然后移动X * ; 两个操作: 复制,移动 。 在Y的ctor中, name是一个const ref,这意味着没有实际的元素副本,因为我们直接处理从Y的对象需要创build的地方传递的参数。 但是,我们复制name来初始化Y mem_name ; 一个操作: COPY 。 当然,它应该快很多(对我来说更可取)? 在Scott Meyer的GN13演讲中(围绕时间8:10和8:56),他谈到了“想要速度?按价值传递” ,我想知道在传递参数(或string是否有任何性能差异或损失)通过参考和传递价值“为了获得速度? 我意识到通过价值传递参数可能会很昂贵,特别是在处理大量数据时。 也许(很明显?)我从谈话中失去了一些东西?