小编Rob*_*err的帖子

结构中的C#数组

想要这样做:(编辑:错误的示例代码,忽略并跳过下面)

struct RECORD {
    char[] name = new char[16];
    int dt1;
}
struct BLOCK {
    char[] version = new char[4];
    int  field1;
    int  field2;
    RECORD[] records = new RECORD[15];
    char[] filler1 = new char[24];
}
Run Code Online (Sandbox Code Playgroud)

但由于无法在struct中声明数组大小,我该如何重新配置​​?

编辑:布局的原因是我使用BinaryReader读取用C结构编写的文件.使用BinaryReader和C#struct union(FieldOffset(0)),我想要将头加载为字节数组,然后按照原来的意图读取它.

[StructLayout(LayoutKind.Sequential)]
unsafe struct headerLayout
{
    [FieldOffset(0)]
    char[] version = new char[4];
    int fileOsn;
    int fileDsn;
    // and other fields, some with arrays of simple types
}

[StructLayout(LayoutKind.Explicit)]
struct headerUnion                  // 2048 bytes in header
{
    [FieldOffset(0)]
    public byte[] headerBytes;      // for BinaryReader …
Run Code Online (Sandbox Code Playgroud)

c#

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

使用Linq从其他集中存在密钥的集合中删除?

使用Linq进行集合减法的正确方法是什么?我有一个8000多个银行的列表,我想根据路由号码删除一部分银行.该部分位于另一个列表中,路由号码是两者的关键属性.这是一个简化:

public class Bank
{
    public string RoutingNumber { get; set; }
    public string Name { get; set; }
}

var removeThese = new List<string>() { "111", "444", "777" };

var banks = new List<Bank>()
{
    new Bank() { RoutingNumber = "111", Name = "First Federal" },
    new Bank() { RoutingNumber = "222", Name = "Second Federal" },
    new Bank() { RoutingNumber = "333", Name = "Third Federal" },
    new Bank() { RoutingNumber = "444", Name = "Fourth Federal" }, …
Run Code Online (Sandbox Code Playgroud)

c# linq

17
推荐指数
3
解决办法
2427
查看次数

此任务(名称)有额外的参数,仅允许

以下方面的问题ansible.builtin.shellansible.builtin.command。可能没有正确使用它们,但用法与文档示例相匹配。
Ansible 版本 2.10.3

角色/rabbitmq/tasks/main.yml

---
# tasks file for rabbitmq

# If not shut down cleanly, the following will fix:
# systemctl stop rabbitmq-server
- name: Stop RabbitMQ service
  ansible.builtin.service:
    name: rabbitmq-server
    state: stopped
  become: yes

# rabbitmqctl force_boot
# https://www.rabbitmq.com/rabbitmqctl.8.html
# force_boot  Ensures that the node will start next time, even if it was not the last to shut down.
- name: Force RabbitMQ to boot anyway
  ansible.builtin.shell: /usr/sbin/rabbitmqctl force_boot

# systemctl start …
Run Code Online (Sandbox Code Playgroud)

ansible

10
推荐指数
2
解决办法
4762
查看次数

动态创建ASP.NET内容页面

  • ASP.NET Master Pages是否可以动态创建内容页面?也就是说,我知道我们可以动态创建内容,但内容页面本身是否可以通过编程方式创建?我想给我的用户来定义新的内容页面的功能:通过管理面板(即分类沙发,桌子,台灯,并添加/删除他们认为合适).生成的内容页面应具有正确的URL命名,以便它们正确索引.例如:http://www.example.com/products/Lamps/contentpage.aspx.
  • 我能看到这个地方的演示吗?

c# asp.net master-pages

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

Javascript 的空白自动换行功能?

我发现的大多数自动换行功能都绑定到 css 和/或浏览器 dom。我正在 javascript 环境(rhino)中工作,需要找到或设计一个更好的自动换行,该换行可以在给定行长度值之前的空白处中断。我当前的解决方案只是搜索给定字符之前的最后一个空格,然后剪切左侧,将其存储为一行输出(在数组返回中)。重复此操作,直到不再有文字为止。

希望有人看到一些优雅的东西。

javascript

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

重新访问传递类型作为参数

没有泛型,我想传递一个类型作为函数参数而不实例化类型.处理函数应该能够限制类型,例如(使用System.Enum作为示例,可以是任何类型):

enum QuestionTypes { Great, Good, Huh, Dumb, Dumber }
// error - "QuestionTypes is a type but used like a variable"
static void Main(string[] args) { TypeHandler(QuestionTypes); }
static void TypeHandler(System.Enum enumType) { /* do stuff */ }
Run Code Online (Sandbox Code Playgroud)

这与传递类型名称,字符串或实例不同..NET应该能够传递一个类型似乎是合理的,因为定义存在于编译代码中.这只是一个反思的工作,还是可以没有?

c#

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

DownloadFile创建0字节文件

每当我使用WebClient.DownloadFile()时,生成的文件长度始终为0字节.我尝试过来自不同网站的文件,包括我自己的本地IIS,总是得到一个0字节长的文件.在浏览器(Chrome)中单击文件名时,文件会正确下载.

string fileName = @"us_ysera_tier11.json.gz";
string remoteUri = @"http://wowprogress.com/exports/ranks/" + fileName;

if (!File.Exists(fileName))
{
    using (WebClient webClient = new WebClient())
    {
        webClient.UseDefaultCredentials = true;
        webClient.DownloadFile(remoteUri, fileName);
    }
}
Run Code Online (Sandbox Code Playgroud)

我做了一些普遍错误的事情,或者有人能指出我一个有效的例子吗?

.net c#

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

找到Lua数字的字符串长度?

这可能是一个简单的问题,但搜索没有找到类似的问题.

#运算符查找字符串的长度,其中包括很好的.但是由于Lua是动态类型的,因此没有转换运算符,如何将数字作为字符串键入以确定其长度?

例如,假设我想在格式化表格中打印1到9的阶乘.

i,F = 1,1
while i<10 do
    print(i.."! == "..string.rep("0",10-#F)..F)
    i=i+1
    F=F*i
end
Run Code Online (Sandbox Code Playgroud)

错误:尝试获取全局"F"的长度(数值)

lua

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

如何重新创建(合并)从本地和远程删除的分支?

在将一个功能分支合并到开发然后删除本地和远程之后,我意识到我忘了将它合并到生产分支.

当我尝试检查最终提交时,我收到一个警告"检查此提交将创建一个独立的HEAD,并且您将不再在任何分支上......"因此对该操作有点担心.

是否有重现功能分支的步骤,以便它可以合并到生产?

git

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

如何正确返回IEnumerable

这个方法有效,除了它返回List <object>当我真正想要的是List <Resource>当specificType是Resource(和List <YYY>当specificType是YYY时,依此类推).

如何重新排列方法签名以返回List <specificType>?那么,有更好的方法吗?List <object>中的项目在此程序集中从许多不同类型反序列化.我正在尝试创建ActualType列表并将该列表返回给调用者.希望这是有道理的.

private static ICollection<object> GetSpecificTypeList(Dictionary<string, List<object>> objectListDictionary, Type specificType)
{
    Contract.Requires(objectListDictionary != null);
    Contract.Requires(specificType != null);

    var typeFullName = specificType.FullName;
    var typedCollection = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(specificType));
    var collection = objectListDictionary.SingleOrDefault(q => q.Key.Equals(typeFullName)).Value;
    foreach (var obj in collection)
    {
        typedCollection.Add(Convert.ChangeType(obj, specificType));
    }

    return collection;
}

var resourceList = GetSpecificTypeList(package.FilesDictionary, typeof(Resource));
Run Code Online (Sandbox Code Playgroud)

动态有帮助吗?

c# generics casting

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

标签 统计

c# ×6

.net ×1

ansible ×1

asp.net ×1

casting ×1

generics ×1

git ×1

javascript ×1

linq ×1

lua ×1

master-pages ×1