小编Sal*_*ari的帖子

有没有办法使用三元运算符 - 或类似的方法 - 来选择要分配的变量?

是否可以根据条件区分我分配的变量?我遇到的问题是想要这样做:

(bEquipAsSecondary ? currentWeaponOffhand : currentWeaponMainhand) = weaponToSwitchTo;
Run Code Online (Sandbox Code Playgroud)

代替

if (bEquipAsSecondary)
{
    currentWeaponOffhand = weaponToSwitchTo;
}
else
{
    currentWeaponMainhand = weaponToSwitchTo;
}
Run Code Online (Sandbox Code Playgroud)

这导致以下错误

错误CS0131赋值的左侧必须是变量,属性或索引器

所以我想知道是否有办法减少使用的空间并且 - 在我看来 - 让它看起来有点整洁?

.net c# ternary-operator

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

Javascript不删除所有cookie

我使用以下代码删除cookie:

document.cookie = "CookieName=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
Run Code Online (Sandbox Code Playgroud)

有两个cookie,一个在域上www.websiteaddress.com,另一个在.websiteaddress.com.当我在页面上时www.websiteaddress.com,具有域地址的cookie将www.websiteaddress.com被删除,但其他cookie 不会被删除.如何在加载javascript时删除两个cookiewww.websiteaddress.com

javascript cookies

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

如何计算linq到sql查询中列值的总和?

我写这个查询:

var query2 = (from p in behzad.Compare_closed_numbers_in_CRM_and_Billing_system_detail_counters
               where p.fileid == point.id
               select new
               {
                   p.count
               }).ToArray();
Run Code Online (Sandbox Code Playgroud)

在count列中有任何值,我想要计算所有的计数值.例如: 在此输入图像描述

我该如何植入?谢谢.

c# linq linq-to-sql

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

枚举<Object>的枚举(Id,Name)

enumid 转换为Id/Name对象列表的最佳做法是什么?

Enum:

public enum Type
{
    Type1= 1,
    Type2= 2,
    Type3= 3,
    Type4= 4
}
Run Code Online (Sandbox Code Playgroud)

Object:

public class TypeViewModel
{
    public int Id { get; set; }
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

就像是:

var typeList = new List<TypeViewModel>();
foreach (Type type in Enum.GetValues(typeof(Type)))
{
    typeList.Add(new TypeViewModel(type.Id, type.Name));
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc enums

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

Linq存储过程返回XML

我正在使用Entity Framework代码优先方法.我想从DbContext类中调用存储过程并获取XML输出.

存储过程(SQL Server):

CREATE PROCEDURE xml_test    
AS
BEGIN
    DECLARE @xml1 xml

    SET @xml1 = (SELECT * from Product FOR XML RAW) 

    SELECT @xml1 AS my_xml
END
Run Code Online (Sandbox Code Playgroud)

LINQ实体框架:

using (DBContext db = new DBContext())
{
    var ProductList = await db.Database.ExecuteSqlCommandAsync("exec xml_test");
}
Run Code Online (Sandbox Code Playgroud)

这里的ProductList列表返回-1.

我想获取存储过程返回的xml输出.

注意:我也尝试了类似的方法:ExecuteSqlCommand,SqlQuery没有帮助.

c# xml linq stored-procedures entity-framework

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

如何动态检查语句

我的问题如下,我需要通过数据库检查条件.这意味着在简单的应用程序中我们检查这样的条件.

private static void Main(string[] args)
{
    Console.WriteLine("Enter your age");
    var age = int.Parse(Console.ReadLine() ?? throw new InvalidOperationException());

    if (5 <= age && age <= 10)
    {
        Console.WriteLine("Range 5 - 10");
    }else if (11 <= age && age <= 20)
    {
        Console.WriteLine("Range 11 - 20");
    }
    else if (21 <= age && age <= 30)
    {
        Console.WriteLine("Range 21 - 30");
    }
    else
    {
        Console.WriteLine("Over range");
    }
}
Run Code Online (Sandbox Code Playgroud)

假设客户端需要动态更改条件,这意味着他需要向系统添加附加条件,如:

if 31 <= age && age <= 40 =>范围31 - 40 …

.net c# sql if-statement

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

在 Angular 和 .Net Core API 中显示自定义服务器端错误消息

我有一些用 C# 编写的 REST API,这些 API 是从 Angular 调用的(我使用的是 Angular 8 版本)。通话正常,工作正常。但是,如果出现任何异常,我无法以角度显示自定义的错误消息。例如,假设我在 C# 中有一个服务器端验证,它验证字段的值是否与字符串“abc”匹配。如果不匹配,它会抛出一个错误,并且在 UI(用 Angular 开发)中,我想显示消息

“指定的字符串无效”。

我的服务器端代码如下 -

if (headerValues.Equals("abc")) {
    throw new InvalidStringException("Invalid String specified", 999);
}
Run Code Online (Sandbox Code Playgroud)

无效InvalidStringException类如下 -

public class InvalidStringException : System.Exception
{
    int status { get; set; }
    public InvalidStringException() { }
    public InvalidStringException(string message, int status) : base(message) {
        this.status = status;
     }
}
Run Code Online (Sandbox Code Playgroud)

当该异常在服务器端引发并捕获时,它可作为 500 异常使用,但无法打印自定义消息。

我正在尝试在 Angular 中执行以下代码 -

} catch (error) {
  console.log("Error Status: ", error.status);
  console.log("Error Status: …
Run Code Online (Sandbox Code Playgroud)

c# rest .net-core angular

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

无法确定存储版本 - 实体框架

我正在当前解决方案中的单独项目中实现代码优先模式.既然我这样做了,我初始化我的连接字符串,DbContext我得到这个奇怪的错误:

无法确定存储版本; 需要有效的存储连接或版本提示.

我正在使用Entity Framework 5.0.0.0,我的其他解决方案项目工作得很好,因为他们使用EDMX文件进行数据库访问,但只有我的代码第一个项目抛出此异常.它是什么,为什么?

c# entity-framework entity-framework-5

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

未处理的异常和werfault

考虑一下我们有这段代码:

static void Main(string[] args)
{
    try
    {
        throw new Exception("Exception");
    }
    catch
    {
        throw;
    }
    finally
    {
        Console.WriteLine("------finally-----");
    }
}
Run Code Online (Sandbox Code Playgroud)

我们有未处理的异常和finally阻止.

werfault启用后,当我Cancel尝试"自动解决问题"时按下,最后执行块.

但是,如果我没有按下Cancel并在下一个窗口中单击Close The Program finally块不执行.

最后当我禁用werfault并点击Close Program finally块执行时.

我没有在c#规范中找到描述这种情况的任何文档.我也发现了这个MSDN:

在未处理的错误之后执行finally块取决于如何触发异常展开操作.

但没有解释,任何人都可以描述为什么会这样?

更新1:我已在.Net Framework 4.5.1和4.5.2中测试过它.

c# exception-handling windows-error-reporting

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

显示多个数组

我有一个项目,我必须采取的输入names,weights以及heights并付诸阵列,并显示它们放入一个TextBox像这样的

name = "..."
weight = "..."
height= "..."
Run Code Online (Sandbox Code Playgroud)

我已经能够填充我的数组,但我不明白如何输出它像上面的例子.目前我的输出是所有名称,然后所有权重然后所有高度.有人可以解释我怎么能让它像示例一样显示?我到目前为止的代码是

private void ShowButton_Click(object sender, EventArgs e)
{        
    txtShow.Text += string.Join(System.Environment.NewLine, nameArray);
    txtShow.Text += string.Join(System.Environment.NewLine, weightArray);
    txtShow.Text += string.Join(System.Environment.NewLine, heightArray);    
}
private void AddButton_Click(object sender, EventArgs e)
{
    if (this.index < 10)
    {
        nameArray[this.index] = nameBox.Text;
        weightArray[this.index] = double.Parse(weightBox.Text);
        heightArray[this.index] = double.Parse(heightBox.Text); 
        this.index++;
    }
}
Run Code Online (Sandbox Code Playgroud)

该阵列最多可以存储10个值,我需要使用数组而不是列表.

c# arrays winforms

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