小编Son*_*nül的帖子

使用C#中Dynamic Linq中的"Contains"关键字查询数据

我在C#中执行动态linq中包含'Contains'关键字的查询时遇到了一些问题.我收到以下错误

"Int32"类型中不存在任何属性或字段

我的代码如下:

如果我为数据类型字符串字段使用'Contains'关键字,那么它可以正常工作,如下所示

string[] CandidateNamesArray = new string[]{"Ram", "Venkat", "Micheal"}
var dynamicLinqQuery = Candidates.Where("CandidateName.Contains(@0)", CandidateNamesArray );
Run Code Online (Sandbox Code Playgroud)
  • 工作良好

但是如果我对数据类型int字段使用'Contains'关键字,那么它会抛出异常,如下所示

int[] CandidateIdsArray = new int[]{4, 78, 101}
var dynamicLinqQuery = Candidates.Where("CandidateId.Contains(@0)", CandidateIdsArray);
Run Code Online (Sandbox Code Playgroud)

运行时异常 - "类型'Int32'中不存在适用的方法'包含'"

也尝试以下面的另一种方式

int[] CandidateIdsArray = new int[]{4, 78, 101}
var dynamicLinqQuery = Candidates.Where("@0.Contains(CandidateId)", CandidateIdsArray);
Run Code Online (Sandbox Code Playgroud)

运行时异常 - "类型'Int32'中不存在属性或字段'CandidateId'"

我花了将近2天的时间来解决上述问题,但无法成功.任何人都可以帮我解决上述问题......在此先感谢

c# linq dynamic

14
推荐指数
2
解决办法
8591
查看次数

从字符串ascii转换为字符串Hex

假设我有这个字符串

string str = "1234"
Run Code Online (Sandbox Code Playgroud)

我需要一个将此字符串转换为此字符串的函数:

"0x31 0x32 0x33 0x34"  
Run Code Online (Sandbox Code Playgroud)

我在网上搜索并发现了很多类似的东西,但不是这个问题的答案.

c# string hex ascii

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

为什么我的NotifyIcon不出现?

我正在尝试使用notifyIcon来显示BalloonTip,但是当我按下按钮时它不会显示出来

 private void button1_Click(object sender, EventArgs e)
 {                                    
       OsWatchNotify.Visible = true;
       OsWatchNotify.BalloonTipText = "Example";
       OsWatchNotify.BalloonTipTitle = "example title";
       OsWatchNotify.ShowBalloonTip(1);                          
 }
Run Code Online (Sandbox Code Playgroud)

任何和所有的帮助将不胜感激.

c# winforms

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

正则表达式错误消息

使用RegularExpression(@"^\d{1,15}$")],我希望用户输入长度最多为15的数字,如果这不正确,则返回错误消息"请输入最多15位数的联系人号码"

[Required(ErrorMessage = ("Please enter up to 15 digits for a contact number")), Display(Name = "Contact Number"), RegularExpression(@"^\d{1,15}$")]
public string ContactNumber { get; set; }
Run Code Online (Sandbox Code Playgroud)

如果用户没有这样做,我留下了错误消息:

The field Contact Number must match the regular expression '^\d{1,15}$'.
Run Code Online (Sandbox Code Playgroud)

而不是'Please enter up to 15 digits for a contact number'......有谁知道为什么?谢谢

c# validation asp.net-mvc

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

为什么EnumMap <T> .keySet()返回Set <T>()而不是EnumSet <T>()?

我正在编写一个包含大量枚举的程序,而且我必须经常返回EnumMap的键集.但是EnumMap.keySet()返回一个Set(),所以为了得到EnumSet我想要的,我必须使用一个演员:

EnumMap<SomeEnum, Object> myMap = getMap();
EnumSet<SomeEnum> myEnum = (EnumSet<SomeEnum>) myMap.keySet();
Run Code Online (Sandbox Code Playgroud)

如果我不投,编译器会抱怨类型不匹配; 它无法转换Set<SomeEnum>EnumSet<SomeEnum>.似乎没有必要强制转换它,因为EnumMap的键始终是枚举.有谁知道为什么这个keySet()方法是这样构造的?我有时认为它可能与EnumSet是一个抽象类有关,但肯定EnumMap可以返回所EnumSet提供的工厂方法.

干杯,全部!

编辑:我很抱歉,上面的代码抛出了一个CastClassException.您可以使用获取EnumSet

EnumSet<SomeEnum> myEnum = EnumSet.copyOf(myMap.keySet());
Run Code Online (Sandbox Code Playgroud)

我真的应该在发布前检查.

java

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

`_ [....]`是有效的标识符吗?

我刚刚安装了Microsoft的.NET 4.5参考源,因为我正在尝试调试我正在看到的问题,我偶然发现了以下内容HttpApplication.cs.

// execution step -- call asynchronous event
internal class AsyncEventExecutionStep : IExecutionStep { 
    private HttpApplication     _application;
    private BeginEventHandler   _beginHandler;
    private EndEventHandler     _endHandler;
    private Object              _state; 
    private AsyncCallback       _completionCallback;
    private AsyncStepCompletionInfo _asyncStepCompletionInfo; // per call 
    private bool                _[....];          // per call 
    private string              _targetTypeStr;
Run Code Online (Sandbox Code Playgroud)

注意倒数第二行private bool _[....]; // per call.

_[....]一个有效的标识符(在任何编译级别,包括IL)或者自编译以来是否已更改源?

c# asp.net httpapplication .net-4.5

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

向Web引用添加授权标头

我正在尝试向客户端的Web服务发出请求(我不知道客户端的底层平台).我使用"添加Web引用"在Visual Studio 2010中使用了客户端的WSDL并生成了我的代理类(称为"ContactService").

我现在需要在我的服务请求中添加如下所示的授权标头.

Header=Authorization & Value=Basic 12345678901234567890
Run Code Online (Sandbox Code Playgroud)

(上面的"123456 ..."值只是占位符)

ContactService service = new ContactService();

//not sure if this is the right way - it's not working
WebClient client = new WebClient();
client.Headers.Add("Authorization", "Basic 12345678901234567890");            
service.Credentials = client.Credentials;

int contactKey = null;
try
{                
   contactKey = service.CreateContact("ABC", emailAddress, firstName, lastName, null);
}
Run Code Online (Sandbox Code Playgroud)

将授权标头添加到服务请求的正确方法是什么?

谢谢!

.net c# web-services web-reference request-headers

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

我如何使用SyndicationFeed?

这可能看起来像一个愚蠢的问题,但我不能为我的生活弄清楚如何SyndicationFeed在c#中访问该类.我在MSDN上看到的每一个例子或者其他假设它已经被导入了,而我找到的没有一个例子给出了它所在位置的任何指示.

例如,我正在尝试运行以下内容:

XmlReader reader = XmlReader.Create(rss_url);
SyndicationFeed.Load(reader);
Run Code Online (Sandbox Code Playgroud)

但它失败了,因为SyndicationFeed在当前的上下文中不存在.那里有人知道我怎么能进去吗?

.net c# xml rss syndication-feed

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

如何在c#中用零初始化双维数组

我是c#的新手.我有二维数组.我想初始化0.

这是代码.我有一个错误Array.fill()

int N = elements;
int M N * 2;
int[,] amn = new int[M,N];
for(int i = 0; i < M; i++)
    Arrays.fill(amn[i], 0);
Run Code Online (Sandbox Code Playgroud)

c# arrays

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

当两者都是引用类型时,字符串与类

这是我上一次采访的方式:

问题:字符串存储在哪里?

答:堆是因为它是参考类型

问题:请解释以下代码:

static void Main(string[] args)
{
     string one = "test";
     string two = one;
     one = one + " string";

     Console.WriteLine("One is {0}" , one);
     Console.WriteLine("Two is {0}", two);
}
Run Code Online (Sandbox Code Playgroud)

答案:画了两张如下图:

(代表声明, string two = one;

在此输入图像描述

(代表语句, one = one + " string";.在堆上创建一个新字符串并分配)

在此输入图像描述

问题:正确.为下面的代码片段绘制类似的内容:

class Program
{
    static void Main(string[] args)
    {
        Test one = new Test { someString = "test" };
        Test two = one;
        one.someString = "test String";

        Console.WriteLine("One …
Run Code Online (Sandbox Code Playgroud)

.net c# string class immutability

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