小编Cor*_*urn的帖子

IE不会调用生命周期挂钩或填充@Input直到检测到更改?

我正在使用beta.0,因为此突出的错误阻止了angular 2在beta.1和beta.2中的IE中工作。

SearchBar.ts中的相关代码

@Component({
  selector : 'search-bar',
  templateUrl: 'views/searchbar.html'
})
export class SearchBar {
  private history: SearchHistoryEntry[] = [];

  @Output() onHistory = new EventEmitter();

  constructor() {
    this.history = JSON.parse(localStorage.getItem('SearchHistory')) || [];
  }

  ngOnInit() {
    // The constructor doesn't have @Outputs initialized yet. Emit from this
    // life cycle hook instead to be sure they're received on the other side
    debugger;
    this.onHistory.emit(this.history);
  }
}
Run Code Online (Sandbox Code Playgroud)

来自home.html的相关代码

<search-bar (onHistory)="SearchBarHistory($event)"></search-bar>
Run Code Online (Sandbox Code Playgroud)

来自home.ts的相关代码

SearchBarHistory(history: SearchHistoryEntry[]) {
  debugger;
  this.history = history;
}
Run Code Online (Sandbox Code Playgroud)

在Chrome中可以正常工作。SearchBar的构造函数正确地从中读取内容localStorage, …

internet-explorer-11 angular

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

是否可以优化字符串上的大型开关?

我正在浏览我的图书馆的一位朋友,因为他询问了优化问题,我遇到了一段代码,如下所示:

long digit = 0;

switch (word) {
    case "zero":
        digit = 0;
        break;
    case "a":
    case "one":
        digit = 1;
        break;
    case "two":
        digit = 2;
        break;
    case "three":
        digit = 3;
        break;
    case "four":
        digit = 4;
        break;
    case "five":
        digit = 5;
        break;
    case "six":
        digit = 6;
        break;
    case "seven":
        digit = 7;
        break;
    case "eight":
        digit = 8;
        break;
    case "nine":
        digit = 9;
        break;
    case "ten":
        digit = 10;
        break;
    case "eleven":
        digit = …
Run Code Online (Sandbox Code Playgroud)

c# optimization

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

停止并重新启动 HttpListener?

我正在开发一个具有HttpListener. 我的目标是让用户根据自己的选择关闭和打开监听器。我将侦听器放入一个新线程中,但在中止该线程时遇到问题。我在某处读到,如果您尝试中止非托管上下文中的线程,那么一旦它重新进入托管上下文,该线程ThreadAbortException就会被解雇。看来 HttpListener 的GetContext()方法是非托管的,因为当我尝试中止线程时,直到我对我的应用程序发出 Web 请求时才会发生任何事情。然后线程退出。问题是,当我尝试终止该线程时,我可能稍后会在同一端口上再次启动该线程,并且会HttpListenerException提示前缀已注册。

如何杀死跨线程 HttpListener?是否有一个托管替代方案GetContext()可以允许线程中止?我可以以非托管代码停止的方式中止线程吗?

c# multithreading httplistener

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

如何从Go调用以太坊合约?

我试图遵循go-ethereum指南,似乎过时了.我试过在Go中寻找一个web3库,但是所有东西都试图回到"使用geth".

从Go,我如何在以太坊区块链中调用合约?如果我的目标是testnet或testrpc,会有多么不同?

go ethereum smartcontracts

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

如何在列表推导中执行多个操作

L = [random.randint(0,50) for i in range(5) random.randint(0,12) for i in range(2)]
Run Code Online (Sandbox Code Playgroud)

如何让它在(0,50)之间选择5个随机数,然后在(0,12)之间选择2个随机数?

python list operation

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

C#比C++运行得更快?

我和朋友写了一个加密模块,我们希望将它移植到多种语言,这样它就不是特定于平台的加密.最初是用C#编写的,我把它移植到C++和Java中.C#和Java都将以大约40 MB/s的速度加密,但C++只能以大约20 MB/s的速度加密.为什么C++运行速度要慢得多?是因为我使用的是Visual C++吗?

我该怎么做才能加快我的代码速度?是否有更好的编译器可以更好地优化C++?

我已经尝试过优化代码本身,比如使用x >> 3代替x / 8(整数除法),或者y & 63代替y % 64和其他技术.如何以不同方式构建项目以使其在C++中更具性能?

编辑:

我必须承认,我没有研究过编译器如何优化代码.我将在大学里上课,致力于学习编译器和口译员.

至于我在C++中的代码,它并不是很复杂.有NO包括,有"基本"数学以及我们称之为"状态跳跃"以产生伪随机结果的东西.我们所做的最复杂的事情是在初始散列阶段实际执行加密和未经检查的乘法的按位运算.有动态分配的2D数组,它们在Encryption对象的生命周期内保持活跃状态​​(并在析构函数中正确释放).这里只有180行.好吧,所以我的微观优化不是必要的,但我应该相信它们不是问题,而是时间问题.要真正深入研究,这是程序中最复杂的代码行:

input [L + offset] ^ = state [state [SIndex ^ 255]&63];

我不是在移动数组,也不是在处理对象.

从语法上讲,整个代码集运行完美,如果我用C#加密某些内容并用C++或Java解密它,它将无缝地工作,所有3种语言都会按照你的预期进行交互.

我不一定希望C++比C#或Java(彼此在1 MB/s之内)运行得更快,但我确信有一种方法可以让C++以同样快的速度运行,或者至少比它更快现在.我承认我不是C++专家,我肯定不会像你们许多人那样经验丰富,但如果我能将99%的代码从C#剪切并粘贴到C++并让它在5中工作分钟,然后我有点说,执行需要两倍的时间.

重新编辑:我在Visual Studio中发现了一个我忘记设置的优化.现在C++的运行速度比C#快50%.感谢所有提示,我在研究中学到了很多关于编译器的知识.

c# c++ optimization

3
推荐指数
7
解决办法
1659
查看次数

我应该使用哪些类使用C#的using语句?

我已阅读并且我相信我理解C#的using语句是什么(如果我错了请纠正我):将IDisposable对象初始化为只读有限范围(using块).我知道你可以在之前初始化using并且不限制范围,但建议不要这样:

http://msdn.microsoft.com/en-us/library/yh598w02.aspx

我并不总是关注哪些类是什么类的子类.我不太确定哪些类继承自IDisposable.我不只是好奇在一个using语句中可以使用哪些类,但是我的同事希望在一个using块中找到哪些类?块中应该包含哪些类using?另外,没有使用using块而不调用Dispose 有什么问题吗?它只是关于记忆还是稳定?

c# using-statement

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

从批处理文件和/或C#更改LAN设置?

我不确定如何在没有图像的情况下对此进行描述,因此附加的是我想要在批处理文件中做的快速剪辑(Windows 7 Enterprise 32位)

局域网代理

在"Internet选项"中的"连接"选项卡下,有一个"局域网设置"按钮(标记为红色),用于打开图像中显示的对话框.我已经拥有了我想要的地址和端口,我只想要一种方法来检查或取消选中批处理文件中的标记复选框.我也接受了如何在C#中做到这一点的答案.

编辑:

对于偶然发现这个问题的其他人来说,这个问题只适合我作为超级用户.如果您的产品需要更改代理服务器设置,请不要假设设置正确,请使用PostMan的第二个注册表项首先正确设置代理.

c# proxy batch-file

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

C#字符串比较?

可能重复:
使用==或等于字符串比较
string.Equals()和==运算符是否真的相同?

我首先学习了Java,其中一个绝对是你永远不会使用==来比较两个字符串是否相等,而是使用equals方法.因此,当我多年前登陆C#并注意到对象仍然使用Equals方法时,我认为规则仍然适用.

现在我正在通过一个前同事的代码,我发现这样的片段到处都是:

if (s.Substring(0, s.IndexOf("_")) == "GBCI") {...}
Run Code Online (Sandbox Code Playgroud)

如果我没记错的话,==将比较这两个结果之间的地址,并且由于函数返回了前半部分,这将失败,因为结果与右边的常量不同.

我是否坚持旧的Java习惯?或者我的同事不在身边是一件好事吗?

PS无论你对比较字符串的答案如何,我都会意识到上面会更好地说明s.BeginsWith("GBCI"),但这完全是另一回事.

c# string

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

为不需要的引用变量传递什么?

我正在使用基于 GIS 的数学库,该库将较低的 C/C++ 代码包装在 C# 中。为了接收多个输出,许多参数都是通过引用传递的。如果我只想要一些输出,如何忽略其他参数?创建虚拟变量并通过引用传递它并忽略其输出的最佳解决方案是?

c# ref

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