小编Met*_*Man的帖子

System.Exception是否有内置的抛出时间戳?

有没有办法从异常本身抛出异常时提取,还是需要手动将此信息添加到异常中?

.net c# timestamp exception

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

处理c#selenium中的表格

<table cellpadding="0" cellspacing="0" onclick="" style="width: 1345px;">

  <tbody>

    <tr id="item_tcm:222-382904-131104" title="2. Publish to WIP (tcm:222-382904-131104)" class="item even" c:drawn="true">
      <td class="col0 icon odd" value="T131104L0P0">
        <div class="icon" style="background-image: url(&quot;/WebUI/Editors/CME/Themes/Carbon2/icon_v7.1.0.66.55_.png?name=T131104L0P0&amp;size=16&quot;);"></div>
      </td>
      <td class="col1 even">
        <div class="text">2.&nbsp;Publish&nbsp;to&nbsp;WIP</div>
      </td>
      <td class="col2 odd">
        <div class="text">JH&nbsp;Anchor&nbsp;link&nbsp;2</div>
      </td>
      <td class="col3 even">
        <div class="text">S070&nbsp;Public&nbsp;Site&nbsp;US&nbsp;English</div>
      </td>
      <td class="col4 odd" value="2015-12-23T14:41:04">
        <div class="text">12/23/2015 2:41 PM</div>
      </td>
      <td class="col5 even">
        <div class="text">NT&nbsp;AUTHORITY\SYSTEM</div>
      </td>
      <td class="col6 odd" value="">
        <div class="text">
          <span style="color: #f00"></span>
        </div>
      </td>
      <td class="col7 even" value="16">
        <div class="text">Suspended</div>
      </td>
      <td class="col8 …
Run Code Online (Sandbox Code Playgroud)

c# selenium

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

如何自定义ASP.NET Identity Core用户名以允许特殊字符和空格

我已将注册操作方法更改为接受用户名而不是电子邮件。

if (ModelState.IsValid)
{
    var user = new ApplicationUser 
    {
        UserName = model.Name,
        Email = model.Email,
    };
Run Code Online (Sandbox Code Playgroud)

但是,当我像Joe Smith这样在TextBox中输入名称时,它给我一个错误,提示用户名无效。它不允许用户名接受空白。我的问题是如何修改内置用户名以允许空格和特殊字符。我正在使用ASP.NET Core。

提前致谢。

c# identity asp.net-core

4
推荐指数
5
解决办法
4875
查看次数

如何更有效地编写C#lamba查询

有没有办法缩短这三个lambda表达式?现在我需要三个步骤才能得到结果.

首先,我查找属于"某人"的所有目标.然后,我在链接表中查找属于这些目标的所有projectId.最终的lambda按其id返回所有项目.

我不禁想到有一种更有效的方式,但我似乎找不到它......

public async Task<List<Project>> GetProjectsFromSomeone(string someone) {
    var targetIds = from target in Context.Targets
                     where target.Someone.ToLower().Contains(someone.ToLower())
                     select target.Id;

    var projectIds = from pt in Context.ProjectTargets
                 where targetIds.Any(id  => id == pt.TargetId)
                 select pt.ProjectId;

    var projects = from prj in Context.Projects
                where projectIds.Any(id => id == prj.Id)
                select prj;

    return await projects.ToListAsync(); 
}

public class ProjectTarget
{
    public int ProjectId { get; set; }
    public int TargetId { get; set; }

    public Project Project { get; set; }
    public …
Run Code Online (Sandbox Code Playgroud)

c# lambda

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

在货币数据C#中查找货币符号

我想在货币格式数据中找到哪个货币符号.

例如,输入字符串= $ 56.23

public class FormatConverter 
{
    private CultureInfo _cultureInfo;

    public void UpdateCultureInfo()
    {
        Thread.CurrentThread.CurrentCulture.ClearCachedData();
        var thread = new Thread(
            s => _cultureInfo = Thread.CurrentThread.CurrentCulture);

        thread.Start();
        thread.Join();
    }

    Bool TryParseCurrencySymbolAndValue(string input, out string CurrencySymbol,
                                        out double value)
    {
        if(_cultureInfo == null)
            UpdateCultureInfo();
        try{

        // Convert Currency data into double
        value = Double.Parse(input, NumberStyles.Number | NumberStyles.AllowCurrencySymbol);
        // How to extract Currency Symbol?
            CurrencySymbol = "$";
            return true;
        }
        catch(Exception ex){ /* Exception Handling */}
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想分别从字符串和56.23中提取"$"符号然后我想将CultureInfo应用到56.23到法语格式.产量应为56,23美元.

在某些情况下,输入可能是"欧元符号"或输入字符串开头或结尾的某些其他货币符号. …

c#

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

如何对DropDownList进行排序

我有以下代码填充DropDownList:

DataSet ds = new DataSet();
SPSite mySite = SPContext.Current.Site;
SPWeb myWeb = mySite.OpenWeb();
SPList list = myWeb.Lists["GuidelineTopics"];
DTable_List = list.Items.GetDataTable();
DTable_List.TableName = "Table1";
DTable_List.DefaultView.Sort = "Title ASC";
ds.Tables.Add(DTable_List);
Topic.DataSource = ds.Tables["Table1"];
Topic.DataSource = DTable_List;
Topic.DataTextField = "Title";
Topic.DataValueField = "Title";
Topic.DataBind();
Topic.Items.Insert(0, new ListItem("All Topics", "All Topics"));
Topic.SelectedIndex = 0;
Run Code Online (Sandbox Code Playgroud)

如何将SORT应用于列表,使其按字母顺序排列为ASC或DESC?

c# asp.net sharepoint

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

c#使用try-catch捕获异常的最佳实践?

假设我需要运行methodA,而methodA将抛出FormatException.

如果我写这个块:

try
{
    methodA();
}
catch (Exception ex)
{
    methodB();
}
catch (FormatException ex)
{
    methodC();
}
Run Code Online (Sandbox Code Playgroud)

它是否会运行methodC,知道FormatException也是一个Exception,因此将进入methodB的catchblock.

或者这样写它更好:

try
{
    methodA();
}
catch (Exception ex)
{
    if(ex is FormatException)
    {
        methodC();
    } else
    {
        methodB();
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# exception-handling exception try-catch

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

Exception.StackTrace如何知道源代码中的行?

这让我很困惑.

我的理解是,当我编译应用程序时,它变成了我的操作系统读取的优化代码.我的源代码中的内容(如变量名,行号等)不再具有意义.

那么我怎样才能构建和运行代码

try
{
    // ... 
}
catch ( Exception E )
{
    Console.WriteLine("Exception occured: {0}", E.StackTrace);
} 
Run Code Online (Sandbox Code Playgroud)

并获取有关我的源代码的哪一部分可以解除异常的所有详细信息.

现在,我明白在.NET中我的C#代码并不是最初的低级"操作系统代码",而是微软中介语言.我猜测MIL为了生成这个异常信息,我在源代码和编译代码之间存在某种类型的映射.这似乎是一个巨大的浪费,不是吗?因此,.NET中的"编译"并不是真正将源代码转换为机器代码; 除了源代码之外,它还在创建机器代码.这意味着我的Windows机器上的所有应用程序都有与其源代码相关的元数据.

或者我完全错了这一切?

.net c# visual-studio

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

如何通过 C# 中的偏移量访问字段值

public class Test
{
    int m_iInt1; // 0x0
    int m_iInt2; // 0x4
}
Run Code Online (Sandbox Code Playgroud)

在 C# 中是否可以访问这样的字段:

var inst = new Test();
unsafe 
{
    var reference = __makeref(inst);
    int int1 = *(int*)(reference + 0x0);
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

c# clr

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

operator*不能应用于decimal和double c#

我目前正在制作税务程序(研究项目),该程序读取CSV文件并生成人员和帐户余额列表,我需要从一个文本框中向下舍入2个小数位,然后将其添加到另一个文本框中.我附带的代码告诉我我不能用"*"我怎么用0.1的小数乘以?如果我这样做错了让我知道,干杯!

public partial class Form1 : Form
{
    //CSV ARRAY LISTS
    List<string> fullName = new List<string>();
    List<string> accBalance = new List<string>();

    int currentItem;
    int index;
    int counter = 0;

    decimal interestBalance = 0;
    decimal result;

    decimal interestRemainder = 0;
    double round = 0.1;


 private void interestBalanceBox_TextChanged(object sender, EventArgs e)
    {
        interestRemainder = decimal.Parse(interestBalanceBox.Text);
        interestRemainder = Math.Truncate(0.1 * interestRemainder) / 100;
        interestRemainderBox.Text = interestRemainder.ToString();

    }
Run Code Online (Sandbox Code Playgroud)

我们打算代表的程序就在这里!任何帮助将非常感激.

在此输入图像描述

c# tax

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