小编Ant*_*ram的帖子

如何拆分字符串以获取文件名?

我想分裂字符串.这是字符串.

string fileName =   "description/ask_question_file_10.htm"
Run Code Online (Sandbox Code Playgroud)

我必须从此字符串中删除"description /"和".htm".所以结果我正在寻找"ask_question_file_10".我必须寻找"/"和".htm"我感谢任何帮助.

c#

4
推荐指数
2
解决办法
5064
查看次数

使用XML序列化反序列化数组时不期望元素

好.我正在尝试与Pivotal Tracker API进行通信,该API仅返回XML格式的数据.我有以下XML,我正在尝试反序列化到我的域模型中.


<?xml version="1.0" encoding="UTF-8"?>
<stories type="array" count="2" total="2">
  <story>
    <id type="integer">2909137</id>
    <project_id type="integer">68153</project_id>
    <story_type>bug</story_type>
    <url>http://www.pivotaltracker.com/story/show/2909137</url>
    <current_state>unscheduled</current_state>
    <description></description>
    <name>Test #2</name>
    <requested_by>Anthony Shaw</requested_by>
    <created_at type="datetime">2010/03/23 20:05:58 EDT</created_at>
    <updated_at type="datetime">2010/03/23 20:05:58 EDT</updated_at>
  </story>
  <story>
    <id type="integer">2909135</id>
    <project_id type="integer">68153</project_id>
    <story_type>feature</story_type>
    <url>http://www.pivotaltracker.com/story/show/2909135</url>
    <estimate type="integer">-1</estimate>
    <current_state>unscheduled</current_state>
    <description></description>
    <name>Test #1</name>
    <requested_by>Anthony Shaw</requested_by>
    <created_at type="datetime">2010/03/23 20:05:53 EDT</created_at>
    <updated_at type="datetime">2010/03/23 20:05:53 EDT</updated_at>
  </story>
</stories>

Run Code Online (Sandbox Code Playgroud)

我的'故事'对象创建如下:


public …
Run Code Online (Sandbox Code Playgroud)

c# xml xml-serialization

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

如何从通用列表中提取派生类型?

我有一个具有以下属性的类:

public List<CommitmentItem<ITransaction, ITransactionItem>> CommitmentItems;
public List<CapitalCallCommitmentItem> CapitalCallCommitmentItems;
Run Code Online (Sandbox Code Playgroud)

CapitalCallCommitmentItem继承CommitmentItem.我希望CapitalCallCommitmentItems属性返回CommitmentItems类型为CapitalCallCommitmentItem的所有内容.所以我尝试了这段代码:

get
{                
    return CommitmentItems
        .Where(c => c.GetType() == typeof(CapitalCallCommitmentItem))
        .Select(c => (CapitalCallCommitmentItem)c)
        .ToList();
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到一个错误说:

错误1无法将类型'Models.CommitmentItem'转换为'Models.CapitalCallCommitmentItem'

这样做的正确方法是什么?

c# generics

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

从List <DateTime>获取月份列表

我在ASP.NET 3.5/C#中使用List来过滤特定月份的现有日期列表(总共约20个).因此,如果用户选择2010年(ddlFromYear.SelectedItem.Text == 2010),那么返回的列表将仅包含8个月,因为我们只到8月份.

我的问题是 - 如何将DateTime输出为int,甚至最好输出一个月,例如"August".这样,当我绑定另一个DropDown时,我可以列出所有月份(1月,2月......),正如我所提到的那样,将由年决定(2009年,2010年......)

    int yearSelected;
    bool success = Int32.TryParse(ddlFromYear.SelectedItem.Text, out yearSelected);
    if (success)
    {
        List<DateTime> datesSelected = new List<DateTime>();
        datesSelected =
            (from n in dates
             where n.Year.Equals(yearSelected)
             select n).ToList();

        dateMonths.Sort();
        ddlFromMonth.Items.Clear();
        ddlFromMonth.DataSource = datesSelected;
        ddlFromMonth.DataBind();
    }
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net list

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

如何从IEnumerable <T>很好地转换为List <T>?

我有一个IEnumerable<Int32>,我想将其转换为List<Int32>.最好的方法是什么?(不通过IEnumerable迭代)

.net c#

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

如何比较两个无序序列(列表和数组)是否相等?

我有字符串数组说 string str[] = {"a", "b"}

List<string> lst = new List<string> {"a", "b"}

如何确保字符串数组和列表包含相同的值.注意:值可以是任何顺序,但必须具有相同的频率.

任何人都可以告诉我如何在LINQ中做到这一点?

谢谢.

c# linq

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

我可以使用通用约束来启用参数化构造函数吗?

我有这样的功能:

public List<T> SelectAll<T>() where T : DatabaseObject, new()
{
    List<T> retVal = new List<T>();
    String command = "Select * from " + GetType().Name;
    MySqlCommand cmd = DatabaseRunner.GetCommand(command);
    MySqlDataReader reader = cmd.ExecuteReader();
    while (reader.Read())
    {
        T newObj = new T(reader);
    }
    return retVal;
}
Run Code Online (Sandbox Code Playgroud)

你可以看到当我尝试创建一个新T对象时,我将一个MySqlDataReader对象传递给构造函数.如何修改方法签名以允许此操作?

c# generics

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

加载generic.xaml以合并资源字典时,XamlReader抛出

试图在代码中加载generic.xaml但它会抛出XamlParseException.代码如下:

Uri uri = new Uri("Themes/Generic.xaml", UriKind.Relative);
StreamResourceInfo info = Application.GetResourceStream(uri);
System.Windows.Markup.XamlReader reader = new System.Windows.Markup.XamlReader();

ResourceDictionary resdict = (ResourceDictionary)reader.LoadAsync(info.Stream);

this.Resources.MergedDictionaries.Add(resdict);
Run Code Online (Sandbox Code Playgroud)

我们的想法是在基页中合并资源字典.然后派生页面可以使用{StaticResource DarkBrush}例如来自其基类的样式,颜色,画笔等.

但上面的代码抛出:

'',十六进制值0x0C,是无效字符.第1行,第1位.

generic.xaml文件是以标准方式在VS2010中创建的.试图将Build Action设置为Resource,但这也不起作用......

我从Microsoft 获得了代码示例.它用于加载页面.任何帮助将不胜感激.

wpf generic.xaml xamlparseexception xamlreader

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

如何在一行代码中强制转换和使用对象?

我正在尝试从Web控件访问父页面上的hiddenfield。下面的作品,但我想一行。

HiddenField hiddenFieldPid = (HiddenField)this.Parent.FindControl("HiddenFieldPid");
hiddenFieldPid.Value = ListBox_JobPositions.SelectedValue;
Run Code Online (Sandbox Code Playgroud)

不太确定为什么这行不通,但执行此操作时我没有在智能感知中显示Value属性:

(HiddenField)this.Parent.FindControl("HiddenFieldPid").NOOPTIONFORVALUEHERE = ListBox_JobPositions.SelectedValue;
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net casting

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

如何删除仅在类型上有所不同但使用非默认构造函数的方法之间的重复?

您好我有很多方法(下面两个例子)看起来几乎完全相同.所不同的是JSON breanch的名字被处理,返回列表的类型添加到列表的对象类型.我知道这些示例方法在它的主体中需要一些优化,但是案例是传递返回值的类型和当前需要的方法的类型,并使它全部工作.如果有可能我想避免代替调用方法.

方法1

    public static List<Box> JsonToListOfBoxes(string data)
    {
        List<Box> ListOfBoxes = new List<Box>();
        if(!string.IsNullOrEmpty(data))
        {
            JObject productsJson = JObject.Parse(data);
            JToken jtkProduct;

            jtkProduct = productsJson["boxes"];

            if(jtkProduct != null)
                if(jtkProduct.HasValues)
                {
                    int childrenCount = productsJson["boxes"].Count();
                    for(int x = 0;x < childrenCount;x++)
                        ListOfBoxes.Add(new Box(productsJson["boxes"][x]));
                }
        }

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

方法2

    public static List<Envelope> JsonToListOfEnvelopes(string data)
    {
        List<Envelope> ListOfEnvelopes = new List<Envelope>();
        if(!string.IsNullOrEmpty(data))
        {
            JObject productsJson = JObject.Parse(data);
            JToken jtkProduct;

            jtkProduct = productsJson["envelopes"];

            if(jtkProduct != null)
                if(jtkProduct.HasValues) …
Run Code Online (Sandbox Code Playgroud)

.net c# methods optimization

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