小编Amy*_*Amy的帖子

编写没有字节顺序标记(BOM)的文本文件?

我正在尝试使用带有UTF8编码的VB.Net创建一个文本文件,没有BOM.任何人都可以帮助我,怎么做?
我可以用UTF8编码写文件但是,如何从中删除字节顺序标记?

edit1:我尝试过像这样的代码;

    Dim utf8 As New UTF8Encoding()
    Dim utf8EmitBOM As New UTF8Encoding(True)
    Dim strW As New StreamWriter("c:\temp\bom\1.html", True, utf8EmitBOM)
    strW.Write(utf8EmitBOM.GetPreamble())
    strW.WriteLine("hi there")
    strW.Close()

        Dim strw2 As New StreamWriter("c:\temp\bom\2.html", True, utf8)
        strw2.Write(utf8.GetPreamble())
        strw2.WriteLine("hi there")
        strw2.Close()
Run Code Online (Sandbox Code Playgroud)

1.html仅使用UTF8编码创建,2.html使用ANSI编码格式创建.

简化方法 - http://whatilearnttuday.blogspot.com/2011/10/write-text-files-without-byte-order.html

vb.net encoding byte-order-mark file-handling

115
推荐指数
4
解决办法
8万
查看次数

获取相对于当前工作目录的路径?

我正在编写一个控制台实用程序来对命令行上指定的文件进行一些处理,但是我遇到了一个我无法通过Google/Stack Overflow解决的问题.如果指定了完整路径(包括驱动器号),如何将该路径重新格式化为相对于当前工作目录?

必须有类似于VirtualPathUtility.MakeRelative函数的东西,但如果有,它就会让我失望.

c# file-io

74
推荐指数
4
解决办法
18万
查看次数

为什么此代码会使Visual Studio 2015崩溃?

出于某种原因,即使在Visual Studio中将其键入C#文件也足以导致它立即崩溃.为什么?

unsafe struct node {
    node*[] child;
}
Run Code Online (Sandbox Code Playgroud)

当IDE开始为关键字等着色时,似乎会发生这种情况.

在TIO中试用它会发出一些csc.exe exited with code 1不太有用的东西.

虽然C#中的数组声明与C/C++中的数组声明不同,但上面看起来应该完全有效.为什么不是,为什么它会导致Visual Studio崩溃?

我的Visual Studio版本是14.0.23107.

c# visual-studio roslyn visual-studio-2015

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

从PHP中的绝对路径获取相对路径

当我输入标题时,我注意到有关此问题的一些类似问题,但它们似乎不是在PHP中.那么PHP功能的解决方案是什么?

待指定.

$a="/home/apache/a/a.php";
$b="/home/root/b/b.php";
$relpath = getRelativePath($a,$b); //needed function,should return '../../root/b/b.php'
Run Code Online (Sandbox Code Playgroud)

有什么好主意吗?谢谢.

php relative-path

40
推荐指数
4
解决办法
3万
查看次数

升级TypeScript后,Angular控制器注册现在无法编译

我们使用的是TypeScript 2.2.升级到2.4之后,我们现在在编译时得到这个:

错误TS2345:类型'typeof TopMenuController'的参数不能分配给'Injectable <IControllerConstructor>'类型的参数.类型'typeof TopMenuController'不能赋值为'(string |(new(... args:any [])=> IController)|((... args:any [])=> void | IController))[ ]".类型'typeof TopMenuController'中缺少属性'push'.

ts\controllers\TopMenuController.ts(2,18):错误TS2559:类型'TopMenuController'没有与'IController'类型相同的属性.

我不明白第一个错误和谷歌搜索它是困难的.我只是要求第一个错误的帮助.(由于我试图解决第一个错误,我得到了第二个错误).这是控制器:

export class TopMenuController implements angular.IController {
    static $inject = ["$templateCache", "Restangular"];

    constructor(
        private readonly $templateCache: angular.ITemplateCacheService,
        private readonly restangular: Restangular.IElement) {
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是它的注册方式.

angular.module("ngApp")
    .config(Configuration.TemplateCacheConfigurator)
    .controller("topMenuController", Controllers.TopMenuController)
Run Code Online (Sandbox Code Playgroud)

如何修改我的控制器定义或其注册,以便我们的代码再次编译?

(删除该implements angular.IController位会删除第二个错误,但第一个错误仍然存​​在)

编辑:我发现了这个错误

angularjs typescript typescript2.0

39
推荐指数
2
解决办法
8214
查看次数

隐藏调试器中的字段

是否可以隐藏字段和/或属性以显示在调试器监视窗口中?看,我们这里有一个有50多个私人领域的课程,其中大部分是通过公共场所公开的.这意味着我们在观察窗口列表中看到了大量数据的重复.

有没有办法控制这个?

c# debugging

34
推荐指数
2
解决办法
9123
查看次数

查看从已编译表达式生成的IL代码

是否可以查看在Expression树上调用Compile()时生成的IL代码?考虑这个非常简单的例子:

class Program
{
    public int Value { get; set; }

    static void Main(string[] args)
    {
        var param = Expression.Parameter(typeof(Program));
        var con = Expression.Constant(5);
        var prop = Expression.Property(param, typeof(Program).GetProperty("Value"));
        var assign = Expression.Assign(prop, con);
        Action<Program> lambda = Expression.Lambda<Action<Program>>(assign, param).Compile();

        Program p = new Program();
        lambda(p);



        //p.Value = 5;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,表达式树执行最后一行Main所说的内容.编译应用程序,然后在Reflector中打开它.您可以看到p.Value = 5;执行分配的IL代码.但表达式树是在运行时编译和编译的.是否可以从编译中查看生成的IL代码?

c# il expression-trees .net-reflector

30
推荐指数
2
解决办法
9602
查看次数

Visual Studio:Tab键选择并突出显示代码

如果我将光标放在多行注释中:

/*
 * place cursor after the asterisk and before the word 'place'
 */
if (x == 0) 
{
    // some code
}
Run Code Online (Sandbox Code Playgroud)

...并且点击tab,Visual Studio不像往常一样添加空格.相反,它突出显示整个注释(示例中的所有三行).如果我tab再次点击,它将选择并突出显示下一个语句或语句块.在我的例子中,它突出了整个if.

如何修复此问题并使Visual Studio选项卡结束?我想tab表现得像个tab.

我正在使用Visual Studio 2013 Ultimate和Resharper 9.它昨天开始这样做了,我不明白为什么.

resharper keyboard-shortcuts visual-studio-2013

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

安装到GAC中的程序集未显示在Visual Studio中

这听起来与这个问题有关,但它们并不是一回事.这个问题没有出现任何集会.除了我安装的特定设备之外,我的所有设

我希望有人能解决这个问题......我做错了什么?或者我在VS中发现了一些错误?

我在Windows 7旗舰版上使用Visual Studio 2010 Professional Beta 2.我刚刚下载了Rhino Mocks并决定使用命令行实用程序GACUTIL将其安装到GAC中.然后我重新启动了.

在这里你可以看到我的GAC中的程序集(点击放大):

替代文字

以下是Visual Studio中可用的程序集列表:

替代文字

这是我安装它的命令提示符,然后确认它:

C:\Users\jason\Downloads>gacutil -i Rhino.Mocks.dll
Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.21006.1
Copyright (c) Microsoft Corporation.  All rights reserved.

Assembly successfully added to the cache

C:\Users\jason\Downloads>gacutil /l |grep -i rhino
Rhino.Mocks, Version=3.6.0.0, Culture=neutral, PublicKeyToken=0b3305902db7183f, processorArchitecture=MSIL
Run Code Online (Sandbox Code Playgroud)

gac gacutil visual-studio-2010

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

如何从Angular 5中的Typescript调用JavaScript函数?

我正在Angular 5中开展PDF Viewer开发.我已经完成了为UI部分编写HTML代码.现在我有了为UI元素提供功能的JavaScript文件.由于Angular 5支持用于实现UI组件功能的typescript,我想在Angular Project中包含JavaScript文件,并从我的Typescript代码中调用它们.

问题:

  1. 如何在Angular项目中包含JavaScript文件?
  2. 如何从Typescript类调用JavaScript函数?

如果有人给我一个例子,那将是很棒的!

提前致谢!!

javascript typescript angular angular5

28
推荐指数
2
解决办法
4万
查看次数