小编Tyl*_*den的帖子

单引号字符串到c#中的uint

我正在将一些C++翻译成C#代码,我看到了以下定义:

#define x 'liaM'
Run Code Online (Sandbox Code Playgroud)

首先,这个单引号是什么意思?我在c#中使它成为一个字符串常量吗?

其次,将此常量作为值分配给C++中的uint变量.这是如何运作的?

uint m = x;
Run Code Online (Sandbox Code Playgroud)

c# c++ string

10
推荐指数
1
解决办法
258
查看次数

如何为使用OpenSSL生成的证书提供多行证书名称(CN)

我按照这里的步骤使用OpenSSL生成自签名证书使用自签名证书创建PKCS#12文件,通过OpenSSL在Windows中为我的Android应用程序.

openssl req -x509 -days 365 -subj"/ CN = MULTI LINE NEEDED HERE"-newkey rsa:1024 -keyout mycert.pem -out mycert.pem

这里的主题由cmd的提示填充,如Country,State等.我希望为CN属性赋予多行值.我如何在命令行中执行此操作?

openssl cmd certificate

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

为什么ref将用于C#中的数组参数?

我阅读了传递数组的页面使用ref和out(C#编程指南),并想知道为什么我们需要将数组参数定义为ref参数(当它已经是引用类型时).被调用函数中的更改不会反映在调用函数中吗?

c# ref out

6
推荐指数
2
解决办法
4299
查看次数

在 ac# 文件中包含 C++ 头文件

我正在将托管 C++ 项目转换为 C# 项目。C++ 项目包括一个常量 C++ 头文件,它是项目外部存在的外部依赖项。

在新创建的 C# 文件中,有没有办法包含这个 C++ 头文件?我不想在 C# 文件中重新定义这些常量,因为客户端的更改将发生在 C++ 头文件上。

c# managed visual-c++

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

这两种结构有什么区别

我可以通过两种方式定义这个结构,我希望将其作为参数传递给pinvoke函数.我想知道2之间有什么区别

[StructLayout(LayoutKind.Sequential)]
public struct Rect {
   public int left;
   public int top;
   public int right;
   public int bottom;
}   

[StructLayout(LayoutKind.Explicit)]
public struct Rect {
   [FieldOffset(0)] public int left;
   [FieldOffset(4)] public int top;
   [FieldOffset(8)] public int right;
   [FieldOffset(12)] public int bottom;
}
Run Code Online (Sandbox Code Playgroud)

根据我在这里找到的布局定义,内存中的内容看起来不一样吗?一个优于另一个的任何优势?

c# pinvoke layout structure

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

重载<< operator for std :: ostream

ostream& operator <<(ostream& osObject, const storageRentals& rentals)
{
    osObject << rentals.summaryReport();
    return osObject;
}
Run Code Online (Sandbox Code Playgroud)

summaryReport() 是一个void函数,它给了我一个错误:

没有运算符"<<"匹配这些操作数

但如果我将summaryReport函数更改为a int,则错误不存在,但我遇到的问题是您必须返回一个值,并将其打印在屏幕上.

void storageRentals::summaryReport() const
{
   for (int count = 0; count < 8; count++)
      cout << "Unit: " << count + 1 << "    " << stoUnits[count] << endl;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法cout <<用void函数重载?

c++ overloading

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

在不使用不安全的情况下将int分配给struct对象

我在c#中有一个struct定义,如下所示

public struct test                                                                                  
{
    byte   SetCommonPOP;
    byte   SetCommonSVP;
    byte   SetCommonUHDP;
    byte   SetCommonMHDP;
};
Run Code Online (Sandbox Code Playgroud)

如何在不使用不安全的情况下将int y分配给此结构的对象x?

c# unsafe structure

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

将结构转换为 intptr

我有一个类定义如下:

[StructLayout(LayoutKind.Sequential)]
public class OUR_MEM_STR
            {
                public byte[] p;
                public int  len;
            };
Run Code Online (Sandbox Code Playgroud)

这是以下 C 结构的等效定义:

typedef struct
{
    void *p;
    int  len;
} OUR_MEM_STR;
Run Code Online (Sandbox Code Playgroud)

我使用 byte[] 而不是 IntPtr 类型作为成员 p 因为它在整个 c# 项目中的使用方式。

我用 len = 10 和 p = new byte[10] 定义了一个对象 obj

我想让它成为一个intptr。我如何获得对象的大小?

 IntPtr pObj = Marshal.AllocHGlobal(obj.len + sizeof(int));
 Marshal.StructureToPtr(obj, pObj, true);
Run Code Online (Sandbox Code Playgroud)

看看我在那里做了什么。它似乎太硬编码。如果我执行以下代码段;

IntPtr pObj = Marshal.AllocHGlobal(Marshal.SizeOf(obj));
Run Code Online (Sandbox Code Playgroud)

这样做会返回错误的大小,因为 obj.p 返回的大小是 4 而不是 10。因为指向字节数组的指针占用的内存是 4 字节。

有没有更好的办法?

c# class marshalling intptr

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

DateTime.Now占DST

使用DateTime.Now为我的DateTime对象分配本地时间.我想知道一旦Daylight时间开始/结束,此对象是否会给出正确的当前本地时间.或者我需要一个解决方法吗?

c# datetime dst

2
推荐指数
1
解决办法
259
查看次数

用于Web应用程序的c#中的datetime

DateTime.UtcNow用于获取当前UTC时间,DateTime.Now用于当前本地时间.对于Web应用程序,datetime.now将为服务器提供时间.

如何让它为使用该应用程序的任何用户提供当地时间?

c# datetime utc

2
推荐指数
1
解决办法
237
查看次数

获取当前时间作为自01.01.2001 00:00以来在c#中的超分钟数

如何在c#中自01.01.2001 00:00以来的ulong分钟内获取当前UTC时间?我知道它涉及DateTime.UtcNow属性但是如何在几分钟内获得偏移?

c# datetime utc

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

无法修改IList对象的成员

我创建了一个IList变量如下:

IList<vertex> matrix = new List<vertex> ();
Run Code Online (Sandbox Code Playgroud)

这里,顶点是我定义的一个结构,其中一个成员被访问(布尔).

但是,当我尝试通过遍历列表来修改此成员时,如下所示:

matrix[j].visited = false;
Run Code Online (Sandbox Code Playgroud)

它给出了一个错误,说"无法修改返回值,因为它不是变量".知道为什么吗?

c# ilist

0
推荐指数
1
解决办法
1242
查看次数

从VM内部如何识别它是AWS机器还是Azure机器?

从VM内部如何识别它是AWS机器还是Azure机器?BIOS中是否有某些特定内容可供我识别,以便将其丢弃.

cloud azure amazon-web-services

0
推荐指数
1
解决办法
51
查看次数