小编Mac*_*ado的帖子

注意事项将C#字符串编码为Javascript字符串

我正在尝试为我的项目编写一个自定义的Javascript MVC3 Helper类,其中一个方法应该将C#字符串转换为Javascript字符串.

我知道C#字符串是UTF-16编码的,Javascript字符串似乎也是UTF-16.这里没问题.

我知道一些字符,如反斜杠,单引号或双引号必须在Javascript上反斜杠转义,所以:

\ becomes \\
' becomes \'
" becomes \"
Run Code Online (Sandbox Code Playgroud)

在编写转换方法之前,还有其他警告我必须注意吗?

编辑:到目前为止很棒的答案,我在问题的答案中添加一些参考资料,以帮助其他人.

Alex K.建议使用System.Web.HttpUtility.JavaScriptStringEncode,我将其标记为正确的答案,因为我使用.Net 4.但是此功能不适用于以前的.Net版本,所以我在这里添加了一些其他资源:

CR  becomes \r   // Javascript string cannot be broke into more than 1 line
LF  becomes \n   // Javascript string cannot be broke into more than 1 line
TAB becomes \t

Control characters must be Hex-Escaped
Run Code Online (Sandbox Code Playgroud)

JP Richardson提供了一个有趣的链接,告知Javascript使用UCS-2,这是UTF-16的一个子集,但如何正确编码这是一个全新的问题.

LukeH在下面的评论中提醒了CR,LF和TAB字符,这让我想起了控制字符(BEEP,NULL,ACK等等).

javascript c# encoding serialization

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

是否可以从JavaDoc创建Java类?

问题出在这里:目前我的团队为供应商工作,他们从他们的库中提供了一个巨大的JavaDoc规范,但没有为.jar文件提供存根或实现.

我们已经与他们交谈,但他们将在2到3周内提供.jar文件.我不想等待这个时间来开始我们的开发,所以这里的问题是:

仅提供JavaDoc .html文件,是否有任何工具(免费/开源)可用,因此我们可以创建一个.jar(或一堆.java/.class文件),使我们能够编译我们的代码?

java javadoc jar reverse-engineering

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

是否值得从我的文件中删除"使用系统"?

在我的项目上开发一系列POCO,并意识到其中一些不需要该using System;条款.

using <module>;在我的物品或项目上留下未使用的物品或尺寸是否有任何损失?

由于这个原因,我的类会变大,变慢还是膨胀,或者编译器/优化器是否足够智能来处理这个问题?

.net c# performance using-declaration

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

如何验证文件是否是有效的Excel电子表格?

我已经在这里做了一些搜索,关于这个,这个,这个以及更多,但没有任何线索,所以我将不得不问你们.

我正在尝试通过Interop打开一个Excel文件,我安装了Office 2007,所以我正在使用Microsoft.Office.Interop.Excel版本14.0.

当我尝试打开一个有效的xls文件时,一切运行正常.

但是,如果我尝试通过Interop打开无效文件(如位图或可执行文件),Excel会在没有抱怨或警告的情况下打开它.

如何检测Excel是否加载了无效的工作簿文件,而没有阻止警报?

我正在尝试编写Excel对象阅读器的单元测试.其中一种情况是尝试打开无效文件.

一些代码可以帮助:应用程序创建:

    _app = new Application()
        {
            Visible = false,
            DisplayAlerts = false,     // <-- I don't want to remove this.
            AskToUpdateLinks = false,
        };
Run Code Online (Sandbox Code Playgroud)

工作簿开放:

   _workbooks.Open(filename);
   _workbook = _workbooks.get_Item(1); // 1-based.
   _worksheets = _workbook.Sheets;
Run Code Online (Sandbox Code Playgroud)

编辑:只是添加1个更多信息:Excel加载无效文件.如果DisplayAlerts设置为true,则会抱怨(打开一个对话框)通知工作簿似乎已损坏,但如果DisplayAlerts设置为false,则会加载文件,如下所示:

Excel加载无效文件

c# excel interop file

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