问题列表 - 第29853页

通过为T引入一个常量,将表达式<Func <T,T2,bool >>转换为Expression <Func <T2,bool >>

我有一个表达式Expression<Func<T, T2, bool>>,我需要Expression<Func<T2, bool>>通过用常量值替换第一个表达式中的T 来转换为格式的表达式.

我需要将它作为表达式保留,所以我不能只使用常量作为第一个参数调用表达式.

我已经看过这里有关表达树的其他问题,但我无法找到解决问题的方法.我怀疑我必须走表达式树来引入常量并删除一个参数,但我甚至不知道从哪里开始.:(

c# expression-trees

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

如何在忽略大小写的情况下测试是否定义了枚举?

以下通用静态方法接受一个字符串并返回一个枚举.

因为我将ignoreCase参数设置为true,所以很好地忽略了大小写.

但是,我还想测试枚举是否存在,但执行此操作的enum.IsDefined方法似乎没有ignoreCase参数.

如何测试枚举是否被定义,并且在同一个忽略的情况下?

using System;

namespace TestEnum2934234
{
    class Program
    {
        static void Main(string[] args)
        {
            LessonStatus lessonStatus = StringHelpers.ConvertStringToEnum<LessonStatus>("prepared");
            ReportStatus reportStatus = StringHelpers.ConvertStringToEnum<ReportStatus>("finished");

            Console.WriteLine(lessonStatus.ToString());
            Console.WriteLine(reportStatus.ToString());
            Console.ReadLine();
        }
    }

    public static class StringHelpers
    {
        public static T ConvertStringToEnum<T>(string text)
        {
            if (Enum.IsDefined(typeof(T), text)) //does not have ignoreCase parameter
                return (T)Enum.Parse(typeof(T), text, true);
            else
                return default(T);
        }
    }

    public enum LessonStatus
    {
        Defined,
        Prepared,
        Practiced,
        Recorded
    }

    public enum ReportStatus …
Run Code Online (Sandbox Code Playgroud)

c# enums case-sensitive

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

在gcc中如何在运行时强制符号解析

我在这个网站上的第一篇文章抱有很大的希望::我试图通过gcc了解静态链接,动态链接,共享库,静态库等.每当我尝试深入研究这个话题时,我都会有一些我不太了解的东西.

一些实践工作:

bash$ cat main.c

#include "printhello.h"
#include "printbye.h"

void main()
{
PrintHello();
PrintBye();
}

bash$ cat printhello.h
void PrintHello();

bash$ cat printbye.h
void PrintBye();

bash$ cat printbye.c
#include <stdio.h>

void PrintBye()
{
printf("Bye bye\n");
}

bash$ cat printhello.c
#include <stdio.h>

void PrintHello()
{
printf("Hello World\n");
}

gcc -Wall -fPIC -c *.c -I.
gcc -shared -Wl,-soname,libcgreet.so.1 -o libcgreet.so.1.0   *.o
ln -sf libcgreet.so.1.0 libcgreet.so
ln -sf libcgreet.so.1.0 libcgreet.so.1
Run Code Online (Sandbox Code Playgroud)

所以我创建了一个共享库.现在我想将此共享库与我的主程序链接以创建可执行文件.

gcc -Wall -L. main.c -lcgreet -o greet

它非常好用,如果我在运行greet之前设置LD_LIBRARY_PATH(或用rpath选项链接它),我可以使它工作.

然而我的问题是不同的:因为我无论如何都使用共享库,是不是可以在运行时强制符号解析(不确定术语,但可能根据书"链接器和加载器"称为动态链接).我知道我们可能不想这样做,因为这会使程序运行缓慢并且每次我们想要运行程序时都有开销,但我试图理解这一点以清除我的概念.

gcc链接器是否提供了在运行时延迟符号解析的任何选项?(用我们实际上要运行程序的库来实现)(因为在编译时可用的库可能与运行时可用的库不同,如果库中有任何更改)我希望能够做到:

bash $ …

c++ linker gcc compilation

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

使用String.Format时,有一种简单的方法可以在字符串值周围添加括号(如果它不为null或为空)

我试图隔离(出于本地化目的)某些消息的格式.在其中一种情况下,我有几个参数,其中一些可能是一个空字符串.这里可能需要一个例子....

如果参数是参数1参数2,那么我希望结果是某些消息参数1(参数2).

如果参数是参数1string.Empty,那么我希望结果是某些消息参数1

如果参数2是一个数值,那么我可以使用类似的东西:

String.Format("Test {0}{1:' ('#')'}", "Parameter one", 12);

这正如我所期望的那样运行 - 特别是如果第二个参数为null,则输出只是测试参数1.

不幸的是,我还没有找到一个类似于字符串参数的选项.有吗?

澄清:我完全了解在代码中获得所需结果的多种方法.我特别想知道是否有一个类似于上面显示的数字字符串的内置机制.

c# string formatting

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

从命令行获取msi产品名称,版本

有没有办法从命令行显示msi文件的产品名称和版本?或者更好的是,这可以通过python完成吗?

python windows-installer

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

用于存储小数的MySQL字段类型

我正在创建一个DB,它将保存具有多个"高度"列的产品(以米为单位,例如7.79或12,8).小数点之前和小数点后2位数不得超过2位数.我应该使用哪种字段类型?

如果我使用十进制(2,2)的尝试在phpMyAdmin插入7.79我得到一个错误说警告:#1264出列"working_height"范围值在第1行

我将使用这个数据库进行搜索,所以我必须能够运行像"选择高度大于7的所有产品"这样的查询.

mysql

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

如何设置ComboBox的高度?

我在表单上有一个ComboBox,其默认高度为21.如何更改它?

.net c# combobox winforms

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

使用常量内存对O(n)中的BST进行排序

这不是作业.只是一个有趣的任务:)

给出完整的二进制搜索三个由数组表示.使用常量内存在O(n)中对数组进行排序.

例:

树:

              8
           /     \
          4       12
         /\       / \
        2  6     10  14
       /\  /\    /\   /\
      1 3 5  7  9 11 13 15
Run Code Online (Sandbox Code Playgroud)

阵列:8,4,12,2,6,10,14,1,3,5,7,9,11,13,15

输出:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15

arrays sorting algorithm binary-tree

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

如何检测介质是否已插入可移动驱动器/读卡器中

我有一个读卡器(没有插入记忆棒).

当我插入我的计算机时,它显示在我的电脑中的空驱动器...

有可能知道一个驱动器是否有媒体(对不起,我不知道如何调用它)或不...

windows winapi msdn

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

什么是大O符号?你怎么想出像O(n)这样的数字?

可能重复:
Big O的简明英语解释

我想这可能是在课堂上讲授的东西,但作为一名自学成才的程序员,我很少见到它.

我收集它与时间有关,而O(1)是最好的,而像O(n ^ n)这样的东西非常糟糕,但是有人能指出我对其实际代表的基本解释,这些数字来自哪里?

big-o

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