小编Met*_*Man的帖子

在货币数据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
查看次数

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
查看次数

DataGridView C# 编辑模式期间行中的默认值

我有一个程序,用于使用 gridview 将值输入到数据库中。gridview 填充了来自 DataSet 的“空”结果,该数据集从我想要的表中查询该数据库。这会用我想要的正确列填充网格(即,具有来自数据库中某个表的空行的网格)。当您填写列时,我会获取数据并手动更新数据库。

我如何使用 gridview 的基本示例:

this.fullUutDataTableAdapter.Fill(this.dalsaUutDataSet.ResultsFullUut);  
DataView dv = this.dalsaUutDataSet.ResultsFullUut.DefaultView;
Grid_modify.DataSource = dv;            
foreach(DataGridViewRow dr in Grid_modify.Rows)
{
    dr.Cells["YieldID"].Value = -1;
}
Run Code Online (Sandbox Code Playgroud)

但是,我希望某些列具有默认值。我曾尝试更改列的默认值,但您无法更改该属性,只能“获取”它。或者,我尝试解析空网格中的行并填充值。这在网格最初加载时工作正常(值显示在适当的位置)。但是,一旦我进入编辑模式,这些值就会清除为零。

接下来,我尝试使用一些 RowEdit 事件并尝试在进入编辑模式时填充值,但是,这会在您进入和离开编辑模式时导致问题。似乎是一种更复杂和凌乱的做事方式,看似必要。

所以问题是,在某些列中使用默认值填充 gridview 的最佳方法是什么?

我更喜欢“最干净”的解决方案。然而,我认识到事情并不总是那样发展......

提前感谢您的帮助!干杯。

c# events datagridview dataset default-value

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

JSON反序列化:如何从JSON对象数组中获取值

我已成功在C#中反序列化此JSON字符串,但无法从嵌套在数组中的对象中提取值:

JavaScriptSerializer js = new JavaScriptSerializer();

string json = 
  {"key":"1234","status":"ok","members":
      [{"id":7,"name":"Joe"},
   {"id":2,"name":"Robert"},
   {"id":18,"name":"Tim"}
      ]
   }

var d = js.Deserialize < dynamic > (json);

string _key = d["key"]; // this works

Array _members = d["members"]; // this works, length = 3
Run Code Online (Sandbox Code Playgroud)

但是我无法通过名称从对象中提取值,例如,这不对,但基本上我想要

_members [0] ["name"]或,_members [0] .name

我认为反序列化器会在数组字典中创建对象,但我想我正在清除丢失的东西......

c# json

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

从IGrouping中检索所有值

我目前有:

UIEnumerable <IGrouping<PortableKey, FileInfo>> 
Run Code Online (Sandbox Code Playgroud)

从这段代码:

var queryDupFiles = from file in fileList
    group file by new PortableKey { Name = file.Name, Length = file.Length } 
    into g
    where g.Count() > 1
    select g;
Run Code Online (Sandbox Code Playgroud)

PortableKey的代码是:

    public class PortableKey
    {
        public string Name { get; set; }
        public long Length { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

基本上过滤和抓取所有重复的文件.我如何获得它以便以这种方式拥有所有FileInfo?

List<FileInfo> list
Run Code Online (Sandbox Code Playgroud)

c# linq list fileinfo igrouping

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

DbContext ExecuteSQLCommand没有参数

我正在尝试传入一个SQL字符串来删除一些记录.我正在使用DbContext.Database.ExecuteSqlCommand函数,但是除了SQL字符串之外,它还需要一个参数列表:params Object []参数

由于我不需要发送任何参数,我尝试传递null,但这会产生错误,说null不是有效参数.我找不到该方法的重载.如何发送不需要其他参数的SQL命令?这是我的代码示例:

db.Database.ExecuteSqlCommand("DELETE FROM SignoffCommentAttachment 
WHERE SignoffCommentAttachment.SignoffCommentID 
IN (SELECT [SignoffCommentID] FROM [SignoffComments] 
WHERE SignoffID = " + signOffID.ToString() + ")", null);
Run Code Online (Sandbox Code Playgroud)

.net c# sql-server entity-framework

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

从LINQ选择中调用方法

我试图理解这个方法调用是如何工作的Linq statement.我有一行代码,例如:

foreach (var model in myDataList.Select(RenderMyData))
{
    pPoint.CreateStuff(model, true);
}
Run Code Online (Sandbox Code Playgroud)

和RenderMyData看起来像这样:

    protected PowerPoint.MyModel RenderMyData(CustomData myData)
    {
        // Do stuff
    }
Run Code Online (Sandbox Code Playgroud)

CustomData对象如何传递给RenderMyData方法?如果我想在RenderMyData方法中添加另一个参数(比如bool)那么我如何在linq select中传递它?

c# linq

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

C#文件上次修改时间

我试图获取特定文件的最后写入时间.这是代码,它的工作原理:`

DirectoryInfo DR = new DirectoryInfo(folderPath);  
FileInfo[] FR2 = DR.GetFiles("InputData.csv");
var FileLastModified= null;

foreach (FileInfo F1 in FR2)
{
    FileLastModified = F1.LastWriteTime;
}
Run Code Online (Sandbox Code Playgroud)

FileLastModified给了我最后的写入时间,我只想找到这个InputData.csv文件的时间.问题是我不想使用for循环,只需要一个特定文件的写入时间.有没有更好的方法来写这个没有循环?

c#

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

计算列表数组中的非null元素

我在其他地方找不到这个.我有一系列的清单:

public List<xmldata>[] XMLArrayList = new List<xmldata>[9999];
Run Code Online (Sandbox Code Playgroud)

要初始化并将列表插入每个位置,我执行以下操作:

for(int m=0; m< XList.XMLArrayList.Count(); m++)
{
    XList.XMLArrayList[m] = new List<xmldata>();
}
Run Code Online (Sandbox Code Playgroud)

但我想计算有多少元素不为空.EX:位置0到5有一个列表.但其他职位没有.

尝试了linq方法:

int count = XList.XMLArrayList.Count(x => x != null);
Run Code Online (Sandbox Code Playgroud)

但它返回数组大小(9999).如何计算列表数组中的非null元素?Ps:已经尝试过字典和列表清单 - 这种方法最适合实现我所需要的.

谢谢.

c# arrays list

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

使用foreach循环在文本文件中搜索字符串

所以我试图在文件中搜索一些特定的字符串,这些字符串在a中list被调用并被调用universities,我正在使用a 来加载文件.CoursesUGPGStreamreader

我遇到的问题是,在第一个foreach循环执行剩余的搜索之后,我想要完成返回,N/a就像文本文件中不存在字符串一样.但是我知道它们在文本文件中.

有没有理由这样或更好的方法来编码?

我的代码如下.

任何帮助将不胜感激.

validdirectory = new DirectoryInfo(path);
Vfiles = validdirectory.GetFiles("*.txt");
foreach (FileInfo file in Vfiles)
{
    //reads the file contents
    bool Stepout = false;
    bool nextouterloop = false;
    using (StreamReader ReadMessage = new StreamReader(file.FullName))
    {
        String MessageContents = ReadMessage.ReadToEnd();
        Message_Viewer.Text = MessageContents;
        foreach (string Uni_Name in Universities)
        {
            if (MessageContents.Contains(Uni_Name))
            {
                Display_Uni.Text = Uni_Name;
            }
        }

        foreach (string course in Courses)
        {
            if (MessageContents.Contains(course))
            {
                Display_Course.Text …
Run Code Online (Sandbox Code Playgroud)

c# streamreader

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