小编Mar*_*ell的帖子

Reflection.Emit - 从堆栈访问最顶层但只有一个项目

在.NET中有没有办法使用Reflection.Emit,从堆栈中访问最顶层的项目?因此,如果A是最顶层,B则是下一个 - 我想处理B然后是A.将B复制到A 之上是可以的(因为当我到达时它可以简单地"弹出"第二个B).

目前,我宣布当地人:

    LocalBuilder loc = il.DeclareLocal(typeof(Foo));
    il.Emit(OpCodes.Stloc, loc); // store and pop topmost stack item
    // work with (pop) previous stack item 
    il.Emit(OpCodes.Ldloc, loc); // push old topmost stack item
Run Code Online (Sandbox Code Playgroud)

是否存在不需要显式本地的路由?

.net reflection.emit

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

OSX恶意终端命令(冒号,括号,大括号,apersand等)

好的,所以有人"挑战"我将其输入我的OSX终端,但我不知道它会做什么:

警告读者:以下行可能有害; 千万不要除非你知道自己在做什么,输入:

:(){ :|:& };:
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

macos bash

9
推荐指数
2
解决办法
6890
查看次数

如何消除MonoDevelop中恼人的ctrl +退格行为?

在MonoDevelop(linux版本)中,ctrl + backspace清除所有换行符,直到最后一个单词/ char块,并删除它.

例如:

qwe asd
.
.
.
_
Run Code Online (Sandbox Code Playgroud)

(其中_是我的光标焦点,并且.是换行符,按ctrl +退格键将返回此信息:

qwe _
Run Code Online (Sandbox Code Playgroud)

代替:

qwe asd
.
.
_
Run Code Online (Sandbox Code Playgroud)

我怎么摆脱它?

c# monodevelop

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

将矩阵转换为沿其对角线的矢量

我不是一个程序员,我只需要在matlab中以数字方式解决问题.我需要一个函数来对任何方阵进行以下转换:

row 1: 1 2 3 
row 2: 4 5 6
row 3: 7 8 9
Run Code Online (Sandbox Code Playgroud)

1 4 2 7 5 3 8 6 9
Run Code Online (Sandbox Code Playgroud)

即从左到右依次沿着对角线在矢量中写入矩阵.有什么想法吗?


我真的需要一些帮助:

假设我们已经转换为向量的矩阵具有由M(i,j)表示的条目,其中i是行和j列.现在我需要能够从向量中的位置找出矩阵中的原始位置,即如果它在向量中的第3个条目,我需要一个能给我i = 1 j = 2的函数.有什么想法吗?我真的坚持这个:(谢谢

algorithm matlab transform matrix

9
推荐指数
2
解决办法
1303
查看次数

Protobuf错误:协议消息标记的线路类型无效

尝试在java中读取消息时出现以下错误

Exception in thread "main" com.google.protobuf.InvalidProtocolBufferException: Protocol message tag had invalid wire type.
    at com.google.protobuf.InvalidProtocolBufferException.invalidWireType(InvalidProtocolBufferException.java:78)
    at com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:498)
    at com.google.protobuf.GeneratedMessage$Builder.parseUnknownField(GeneratedMessage.java:438)

FileInputStream fis = new FileInputStream("F:/Newfolder/sample_message.txt");
Nt nlc = Nt.parseFrom(fis);

if(nlc.hasMessageId())
{
    System.out.println("MessageId: "+nta2sse.getMessageId());
}
Run Code Online (Sandbox Code Playgroud)

我正在接受例外 if(nlc.hasMessageId())


这是完整的堆栈跟踪.

Exception in thread "main" com.google.protobuf.InvalidProtocolBufferException: Protocol message tag had invalid wire type.
    at com.google.protobuf.InvalidProtocolBufferException.invalidWireType(InvalidProtocolBufferException.java:78)
    at com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:498)
    at com.google.protobuf.GeneratedMessage$Builder.parseUnknownField(GeneratedMessage.java:438)
    at com.soeasy.aanta.nta.sse.NtaSse$Nta2Sse$Builder.mergeFrom(NtaSse.java:523)
    at com.soeasy.aanta.nta.sse.NtaSse$Nta2Sse$Builder.mergeFrom(NtaSse.java:1)
    at com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:1)
    at com.google.protobuf.AbstractMessageLite$Builder.mergeFrom(AbstractMessageLite.java:212)
    at com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:746)
    at com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:1)
    at com.google.protobuf.AbstractMessageLite$Builder.mergeDelimitedFrom(AbstractMessageLite.java:282)
    at com.google.protobuf.AbstractMessage$Builder.mergeDelimitedFrom(AbstractMessage.java:760)
    at com.google.protobuf.AbstractMessageLite$Builder.mergeDelimitedFrom(AbstractMessageLite.java:288)
    at com.google.protobuf.AbstractMessage$Builder.mergeDelimitedFrom(AbstractMessage.java:752)
    at com.soeasy.aanta.nta.sse.NtaSse$Nta2Sse.parseDelimitedFrom(NtaSse.java:338)
    at com.soeasy.aanta.nta.sse.NtaSseServer.main(NtaSseServer.java:60)
Run Code Online (Sandbox Code Playgroud)

并且示例_message.txt具有以下内容:

message_id: …
Run Code Online (Sandbox Code Playgroud)

java protocol-buffers

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

为什么.NET运行时将下划线添加到我的字符串?

我将我的应用程序设置存储在C#way(Properties.Settings.Default.Save();)中.然后,设置由C#运行时存储在文件夹中:

C:\Users\UserName\AppData\Local\My_Company_Name
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我在Visual Studio([assembly: AssemblyCompany("My Company Name")])中输入了"我的公司名称"作为公司属性.

那么,下划线来自何处?我见过的其他应用程序创建文件夹空白...

.net c# settings

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

flush()在Firefox 4中不起作用

我注意到了php flush(); 在Firefox 4 beta 7中不起作用,因为它适用于3.6.12.

我最近安装了firefox 4 beta 7,当调用flush()时,内容不会立即刷新.它曾经在3.6.12中正常工作.还有什么东西可以为我提供冲洗功能.

我试过了

flush();  
@ob_flush();
Run Code Online (Sandbox Code Playgroud)

我还在页面顶部尝试了以下代码.

@apache_setenv('no-gzip', 1);
@ini_set('zlib.output_compression', 0);
@ini_set('implicit_flush', 1);
for ($i = 0; $i < ob_get_level(); $i++) { ob_end_flush(); }
   ob_implicit_flush(1);
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我在XAMPP/Apache上使用php.谢谢.


我发现将内容类型设置为text/plain工作,但它只输出纯文本而不是html内容.

php firefox flush

8
推荐指数
2
解决办法
2548
查看次数

äJava中的字母排序问题

嗨有一些代码:

Collator col = Collator.getInstance(Locale.GERMAN);

List< String> list = new ArrayList<String>();
list.add("ac");
list.add("äb");
list.add("aa");
list.add("bb");


Collections.sort(list,col);
System.out.println(list);
Run Code Online (Sandbox Code Playgroud)

我期望得到[aa,ac,äb,bb]输出,而不是我得到:[aa,äb,ac,bb]

我不知道我做错了什么......先谢谢你的帮助.


嗨,谢谢大家的答案.

不幸的是,项目的要求清楚地说明字符串必须按照这样的顺序排序:[aa,ac,äb,bb]:所以我试着使用这段代码:

 String europeanRules =
        ("< a,A ; \u00e0,\u00c0 ; \u00e1,\u00c1 ; \u00e2,\u00c2 ; \u00e3,\u00c3; \u00e4,\u00c4 ; \u00e5,\u00c5 ; \u00e6,\u00c6 "+
                "; \u0101,\u0100 ; \u0103,\u0102 ; \u0105,\u0104 " +       
         "< b,B < c,C ; \u00e7,\u00c7 ; \u0107,\u0106 ; \u0109,\u0108 ; \u010b,\u010a ; \u010d,\u010c " +
         "< d,D ; \u010f,\u010e ; \u0111,\u0110 " +
         "< e,E ; \u00e8,\u00c8 ; \u00e9,\u00c9 ; \u00ea,\u00ca …
Run Code Online (Sandbox Code Playgroud)

java sorting unicode localization

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

如何向CryptoStream添加搜索和位置功能

我试图使用带有AWS .NET SDk的CryptoStream失败,因为CryptoStream不支持seek.我知道内容长度已知的地方我们应该能够将这些功能添加到CryptoStream.我想知道怎么做; 任何示例代码也都很有用.

我有一个这样的方法,它与FieStream一起传递并返回一个cryptoStream.我将返回的Stream对象分配给AWS SDk PutObjectRequest对象的InputStream.

public static Stream GetEncryptStream(Stream existingStream,
    SymmetricAlgorithm cryptoServiceProvider,
    string encryptionKey, string encryptionIV)
{
    Stream existingStream = this.dataStream;

    cryptoServiceProvider.Key = ASCIIEncoding.ASCII.GetBytes(encryptionKey);
    cryptoServiceProvider.IV = ASCIIEncoding.ASCII.GetBytes(encryptionIV);
    CryptoStream cryptoStream = new CryptoStream(existingStream,
        cryptoServiceProvider.CreateEncryptor(), CryptoStreamMode.Read);

    return cryptoStream ;
}
Run Code Online (Sandbox Code Playgroud)

c# cryptography stream

8
推荐指数
2
解决办法
2769
查看次数

如何创建二维动态长度数组?

我想创建一个二维数组,而不知道第一维的大小.

例如,当我创建一个数组时,我有一个未知的行数.每行代表一个帐户.每行退出4列:ID,名称,用户,密码

我尝试使用锯齿状阵列,但不可能:

int[][] jaggedArray = new int[][3];
Run Code Online (Sandbox Code Playgroud)

我也寻找ArrayList,实现与clases和一点关于泛型.

我正在寻找一种可以轻松操作数据的解决方案:

  • 添加到列表,选择,输入元素
  • 在数据库查询中使用元素
  • 在其他功能中用作参数

因为我是.NET(C#)的新手,请为我提供代码解决方案,而不是通用(寻找)解决方案

c# arrays arraylist dynamic

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