是否可以根据条件区分我分配的变量?我遇到的问题是想要这样做:
(bEquipAsSecondary ? currentWeaponOffhand : currentWeaponMainhand) = weaponToSwitchTo;
Run Code Online (Sandbox Code Playgroud)
代替
if (bEquipAsSecondary)
{
currentWeaponOffhand = weaponToSwitchTo;
}
else
{
currentWeaponMainhand = weaponToSwitchTo;
}
Run Code Online (Sandbox Code Playgroud)
这导致以下错误
错误CS0131赋值的左侧必须是变量,属性或索引器
所以我想知道是否有办法减少使用的空间并且 - 在我看来 - 让它看起来有点整洁?
我使用以下代码删除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
我写这个查询:
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)
我该如何植入?谢谢.
将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) 我正在使用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没有帮助.
我的问题如下,我需要通过数据库检查条件.这意味着在简单的应用程序中我们检查这样的条件.
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 …
我有一些用 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) 我正在当前解决方案中的单独项目中实现代码优先模式.既然我这样做了,我初始化我的连接字符串,DbContext我得到这个奇怪的错误:
无法确定存储版本; 需要有效的存储连接或版本提示.
我正在使用Entity Framework 5.0.0.0,我的其他解决方案项目工作得很好,因为他们使用EDMX文件进行数据库访问,但只有我的代码第一个项目抛出此异常.它是什么,为什么?
考虑一下我们有这段代码:
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中测试过它.
我有一个项目,我必须采取的输入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# ×9
.net ×2
linq ×2
.net-core ×1
angular ×1
arrays ×1
asp.net-mvc ×1
cookies ×1
enums ×1
if-statement ×1
javascript ×1
linq-to-sql ×1
rest ×1
sql ×1
winforms ×1
xml ×1