小编Ric*_*der的帖子

在asp.net中使用SQL查询中的变量(C#)

我有这个表单的SQL查询

string cmdText = "Select * from " + searchTable 
  + "WHERE " + searchTable 
  + "Name =' " +   searchValue + "'";
Run Code Online (Sandbox Code Playgroud)

基本上我要做的是从数据库的Actors表中获取特定actor的信息.变量searchTable的值为'Actor',即表名,searchValue具有actor的名称(由Actor表中的ActorName属性表示,这里我试图通过连接单词'Actor来形成属性的名称'和'姓名')

所以,所有这些连接导致(或至少应该导致)对表单的查询:

Select * from Actor where ActorName ='some actor';
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行它时,它在浏览器中给出了错误"语法不正确'='".有人可以帮忙吗?

c# sql asp.net

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

Linq Navigation Properties复杂的ID in(从...中选择id)

我有两个实体Candidate和CandidateLocation,其中候选人可以有多个CandidateLocation条目.

CandidateLocation包含CandidateId,ISO国家代码(例如US,GB)和类型列(1 =允许,2 =受限制).

规则规定如果候选人在CandidateLocation表中没有任何"Permitted"条目,他们可以在任何地方工作.如果他们有明确的"允许"位置,他们只能在明确允许的位置工作.他们不能在明确的限制地点工作.

要试一试这个,请看下面的图片(候选人可以有多个位置,我把它保持为一个,以简化图示)

规则

在SQL中,实现此目的的一种方法是以下查询

SELECT  *
FROM    Candidate
WHERE   Candidate.IsArchived = 0
    AND
        -- Do not inlude restricted locations (RestrictionStatus = 2)
        Candidate.CandidateId NOT IN (SELECT CandidateId FROM CandidateLocation WHERE IsArchived = 0 AND CountryISOCode = @Location AND RestrictionStatus = 2)
    AND
        (
        -- Include Explicit Permitted Locations
        Candidate.CandidateId IN (SELECT CandidateId FROM CandidateLocation WHERE IsArchived = 0 AND CountryISOCode = @Location AND RestrictionStatus = 1)
        OR
        -- Include Candidates with no Explicit Permitted Locations
        Candidate.CandidateId NOT …
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-entities entity-framework

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

Windows Server 2012 r2 中的波斯文化

在我们在 Windows 10 上运行的开发机器中,“fa-IR”文化运行良好,所有日期都使用波斯日历显示。但是当我们在 Windows Server 2012 r2 上部署我们的应用程序时,日期时间仍然是公历。

c# globalization windows-server persian-calendar

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

JSON无法将JSON数组反序列化为类型

即使在尝试多种方法之后,我也一直试图让这个JSON反序列化.

以下是Web服务返回的JSON:

[
   {
      "data":[
         {
            "osis":"Matthew 5:5-8",
            "content":"<p><span id=\"unique-id-23240\" class=\"text Matt-5-5\"><span class=\"woj\"><sup class=\"versenum\">5\u00a0<\/sup>\u201cBlessed are the <sup class='crossreference' value='(<a href=\"#cunique-id-23240A\" title=\" A\">A<\/a>)'>(<a href=\"#cunique-id-23240A\" title=\" A\">A<\/a>)<\/sup>meek, for they <sup class='crossreference' value='(<a href=\"#cunique-id-23240B\" title=\" B\">B<\/a>)'>(<a href=\"#cunique-id-23240B\" title=\" B\">B<\/a>)<\/sup>shall inherit the earth.<\/span><\/span><\/p> <p><span id=\"unique-id-23241\" class=\"text Matt-5-6\"><span class=\"woj\"><sup class=\"versenum\">6\u00a0<\/sup>\u201cBlessed are those who hunger and <sup class='crossreference' value='(<a href=\"#cunique-id-23241C\" title=\" C\">C<\/a>)'>(<a href=\"#cunique-id-23241C\" title=\" C\">C<\/a>)<\/sup>thirst <sup class='crossreference' value='(<a href=\"#cunique-id-23241D\" title=\" D\">D<\/a>)'>(<a href=\"#cunique-id-23241D\" title=\" D\">D<\/a>)<\/sup>for righteousness, for they shall be satisfied.<\/span><\/span><\/p> <p><span id=\"unique-id-23242\" class=\"text Matt-5-7\"><span class=\"woj\"><sup class=\"versenum\">7\u00a0<\/sup>\u201cBlessed …
Run Code Online (Sandbox Code Playgroud)

c# json json.net

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

为什么必须通过引用传递String对象?

在C#中,据我所知,方法调用期间参数的传递是按值进行的.但是当您使用对象作为参数时,您传递的是对象本身的引用.这意味着如果您访问(并修改)对象内部字段的值,则一旦方法调用完成,也将看到更新.

因此,如果我在方法中修改String的值,则应在方法调用终止时修改它(因为String是C#中的对象).但事实并非如此,事实上如果我写:

public static void main (String []args){
  String s= "hello";
  method(s);
  System.Console.Writeline(s);
}

public void method (String s)
{s = "world";}
Run Code Online (Sandbox Code Playgroud)

它将打印"你好",而不是"世界".打印"世界"的唯一方法是ref在方法签名和调用中添加关键字.

为什么会这样?我的答案(我希望你确认或纠正)是在C#中String对象是不可变的,所以如果我使s ="world"实际上编译器正在创建一个新的字符串对象,但是对象的引用是不会改变(因为通过是值).

事实上,如果我s.getHashCode()method()通话前后打印,这两个值是不同的.

你怎么看待我的解释?

c# pass-by-reference pass-by-value

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

为什么我们不能在if语句中编写Console.Writeline()?

为什么我们不能写Console.Writeline(),如果条件C#?但我们可以在if条件下写 printf()语句吗?C

c c#

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

使用.NET/C#将byte []转换为XML

我将XML作为字节数组(byte [])存储在数据库中.现在我需要从我正在成功执行的数据库中获取该字节数组,并将其传递给XDocument,如下所示:

public Dictionary<string, string> ReadFromByte(byte[] UserData, string toplevelnode, string firstattribute, string secondattribute)
        {
            XDocument doc = XDocument.Load(UserData);
            Dictionary<string, string> dictionary = doc.Descendants(toplevelnode).ToDictionary(x => x.Attribute(firstattribute).Value,
                                                               x => x.Attribute(secondattribute).Value);
            return dictionary;
        }
Run Code Online (Sandbox Code Playgroud)

如果我以XML格式将XDocument传递给服务器上的文件,则此代码可以正常工作.但是,如果我传递一个byte []数组,它就不起作用.

我将非常感谢任何提示我应该如何将byte []数组转换回XML.

谢谢.

c# xml

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

如何将可空枚举序列化为属性

我有一个需要从 xml 反序列化的类,它有一个 enum 属性,它作为一个属性存储在 xml 中。有时此属性可能会丢失或具有“”作为值。我怎样才能让序列化程序处理使 BorrowerResidencyType 属性可以为空?

XML:

<_RESIDENCE _StreetAddress="" _City="San Jose" _State="CA" BorrowerResidencyType="" />
<_RESIDENCE _StreetAddress="" _City="San Jose" _State="CA"  />
Run Code Online (Sandbox Code Playgroud)

C#:

[System.CodeDom.Compiler.GeneratedCodeAttribute ( "System.Xml", "4.0.30319.17929" )]
[System.SerializableAttribute ()]
[System.Xml.Serialization.XmlTypeAttribute ( AnonymousType = true )]
public enum _RESIDENCEBorrowerResidencyType
{

    /// <remarks/>
    Current,

    /// <remarks/>
    Prior,
}

public class Test{
public string StreetAddress{get;set;}
public string City{get;set;}
[System.Xml.Serialization.XmlAttributeAttribute ()]
public _RESIDENCEBorrowerResidencyType BorrowerResidencyType{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

是否有另一个图书馆可以更智能地处理这种情况?

c# xml-serialization

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

关于动态分配的数组和指针的家庭作业帮助

这是我的问题:

假设您的程序包含用于创建动态分配的数组的代码,如下所示:

int * entry;
entry = new int [10];
Run Code Online (Sandbox Code Playgroud)

这样指针变量条目指向这个动态分配的数组.编写代码来填充此数组,键入10个数字.

我已经阅读了这本书两天了,仍然无法解决这个问题.

这是我正在尝试的代码,但它在第17行给出了一个错误:没有运算符匹配这些操作数"<<".我已经检查了msdn和其他几个网站,但我无法弄清楚这一点.任何帮助,将不胜感激.

#include <iostream>

using namespace std;

int main()
{
int * entry;
entry = new int [10];
int array_size = 10;
int num;
for(int i = 0; i< array_size; i++)
    entry[i] = i;

for(int i = 0; i < array_size; i++)
{
    cout << "Enter an int into the array: " << endl;
    cin << entry[i] << endl;
}


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

c++

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

如何在获取IEnumerable之前使用list.where函数和对象进行转换

我的课程是这样的

public interface ICar
{
    CarModel GetCarModel();
}

public class Honda: ICar
{
    CarModel GetCarModel()
    {
        return CarModel.Honda;
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个ICars定义如下的列表:

List<ICar> cars;
Run Code Online (Sandbox Code Playgroud)

我希望使用Where子句提取所有类型的本田汽车的IEnumerable并且转换为本田而不是ICar.我该怎么做呢?这可能吗?

c# linq casting list where

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