小编Sal*_*ari的帖子

WPF过滤ListBox

我加载了一个字符串列表ListBox,现在我想在我输入文本时过滤它TextBox.我该怎么做?

public void ListLoad()
{
    ElementList = new List<string>(); // creation a list of strings
    ElementList.Add("1"); // add a item of string
    ElementList.Add("2"); // add a item of string

    DataContext = this; // set the data context
}
Run Code Online (Sandbox Code Playgroud)

我在XAML中绑定它:

ItemsSource ="{Binding ElementList}"

c# wpf xaml listbox list

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

Lambda表达式按顺序排列并采取问题

我有一个类类型的IQueryable列表COLOURS

IQueryable<COLOURS> renkler = dbcontext.colours.Select(s=>new COLOURS{ .... 
Run Code Online (Sandbox Code Playgroud)

我想得到随机的2行,我使用这个代码块来做到这一点:

renkler.OrderBy(o => Guid.NewGuid()).Take(2);
Run Code Online (Sandbox Code Playgroud)

我想要2行,但有时会得到3行或5行:

在此输入图像描述

Take(2) 不工作 - 问题是什么?

我检查时发现了一些东西

var result = NewProducts().OrderBy(o => Guid.NewGuid()).Take(2);
int result_count = result.Count(); //This value is 2 :D
                                   //but ToList() result 5 :D
Run Code Online (Sandbox Code Playgroud)

整个方法:

public IQueryable<COLOURS> NewProducts() 
{
    DateTime simdi = DateTime.Now;
    DateTime simdi_30 = DateTime.Now.AddDays(-30);

    var collection_products = DefaultColours()
                             .Where(w => ((w.add_date.Value >= simdi_30 && w.add_date.Value <= simdi) || w.is_new == true))
                             .OrderByDescending(o => o.add_date).Take(200)
                             .Select(s => new COLOURS
                             {
                                 colour_code = …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda entity-framework

10
推荐指数
1
解决办法
905
查看次数

带有整数字符串的枚举

我有这样一个公众enum:

public enum occupancyTimeline
{
    TwelveMonths,
    FourteenMonths,
    SixteenMonths,
    EighteenMonths
}
Run Code Online (Sandbox Code Playgroud)

我将用于这样的DropDown菜单:

@Html.DropDownListFor(model => model.occupancyTimeline, 
   new SelectList(Enum.GetValues(typeof(CentralParkLCPreview.Models.occupancyTimeline))), "")
Run Code Online (Sandbox Code Playgroud)

现在我正在寻找我的价值观

12个月,14个月,16个月,18个月而不是TweleveMonths,十四个月,十六个月,十八个月

我怎么做到这一点?

c# asp.net asp.net-mvc

10
推荐指数
1
解决办法
995
查看次数

创建Model类或坚持使用通用数据库实用程序类更好吗?

我们内部有一个简单的实用程序类用于数据库调用(围绕ADO.NET的轻量级包装),但我正在考虑为每个数据库/对象创建类.这样做是否明智,或者只有在我们使用ASP.NET的完整MVC框架时才会受益?

所以我们有这个:

SQLWrapper.GetRecordset(connstr-alias, sql-statement, parameters);
SQLWrapper.GetDataset(connstr-alias, sql-statement, parameters);
SQLWrapper.Execute(connstr-alias, sql-statement, parameters);
Run Code Online (Sandbox Code Playgroud)

考虑这样做:

Person p = Person.get(id);
p.fname = "jon";
p.lname = "smith";
p.Save();
Run Code Online (Sandbox Code Playgroud)

或者换新纪录 -

Person p = new Person();
p.fname = "Jon";
p.lname = "Smith";
p.Save();
p.Delete();
Run Code Online (Sandbox Code Playgroud)

这会很聪明,还是会有点矫枉过正?我可以看到重用,更改数据库和维护/可读性的好处.

c# database asp.net-mvc ado.net

9
推荐指数
1
解决办法
550
查看次数

当用户输入null或空字符串时抛出错误

我正在尝试解决以下练习:

您需要创建一个Product代表产品的类.该类有一个名为的属性Name.Product该类的用户应该能够获取和设置Name属性的值.但是,任何将值设置为Name空字符串或空值的尝试都应引发异常.此外,Product该类的用户不应该能够访问Product 该类的任何其他数据成员.你将如何创建这样一个类?

我创建了以下代码但由于某种原因它不会在字符串无效时抛出异常:

class Program
{
    static void Main(string[] args)
    {
        Product newProduct = new Product();
        Console.WriteLine("Enter Product name:");
        newProduct.Name = null; //Console.ReadLine();
        Console.WriteLine("Product name is : {0}", newProduct.Name);
        Console.ReadLine();
    }
}

class Product
{
    private string name;
    public string Name
    {
        get
        {
            return this.name;
        }
        set
        {
            if (Name != String.Empty || Name != null)
            {
                name = value;
            }
            else
            {
                throw new …
Run Code Online (Sandbox Code Playgroud)

.net c# string exception-handling

9
推荐指数
2
解决办法
8794
查看次数

线程参数被更改

当启动多个线程时,id我正在解析的参数有时是错误的.这是我的创业公司:

for (int i = 0; i < _threadCount; i++)
{
    Thread thread = new Thread(() => WorkerThread(i));
    thread.Start();
    _threads.Add(thread);
}
Run Code Online (Sandbox Code Playgroud)

我的线程功能:

private void WorkerThread(int id)
{
    Console.WriteLine("[{0}] Thread started {1}", DateTime.Now.ToLongTimeString(), id);
}
Run Code Online (Sandbox Code Playgroud)

此代码的输出是:

[19:10:54] Thread start 3
[19:10:54] Thread start 9
[19:10:54] Thread start 4
[19:10:54] Thread start 12
[19:10:54] Thread start 11
[19:10:54] Thread start 3
[19:10:54] Thread start 12
[19:10:54] Thread start 6
[19:10:54] Thread start 9
[19:10:54] Thread start 6
[19:10:54] Thread start …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading .net-4.5

9
推荐指数
1
解决办法
872
查看次数

List <DateTime>上的Any()方法不能按预期工作

我在winforms中使用.net 4.6(这里的代码来自测试控制台应用程序)

有一点我有一个清单,DateTime我需要弄清楚这个清单是否包含具体的日期.

为此,我尝试使用Any()列表.即使列表确实包含所需日期,也只Any()返回false.

以下是示例代码,它也具有相同的行为.所以,如果我对这段代码有所了解,我想这对我的真实代码也有帮助.

List<DateTime> dateTimeList = new List<DateTime>();
DateTime dateNow = DateTime.Now;

DateTime date = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, dateNow.Hour, dateNow.Minute, 00);
date = date.AddMinutes(-10);
while (date < dateNow.AddMinutes(10))
{
    dateTimeList.Add(date);
    date = date.AddMinutes(1);
}

dateNow = dateNow.AddSeconds(-dateNow.Second);
dateNow = dateNow.AddMilliseconds(-dateNow.Millisecond);

foreach (DateTime dateInList in dateTimeList)
    Console.WriteLine("date list List:" + dateInList.ToString("ddMMyyyy hh:mm:ss:fffz") + " - VS - desired date:" + dateNow.ToString("ddMMyyyy hh:mm:ss:fffz"));

if (dateTimeList.Any(x => x == dateNow))
    Console.WriteLine("date found"); …
Run Code Online (Sandbox Code Playgroud)

.net c# linq datetime

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

IEnumerable <T>和.Where Linq方法的行为?

我以为我知道一切,IEnumerable<T>但我刚遇到一个我无法解释的案例.当我们调用.在一个linq方法上IEnumerable,执行被推迟到对象被枚举,不是吗?

那么如何解释下面的示例:

public class CTest
{
    public CTest(int amount)
    {
        Amount = amount;
    }

    public int Amount { get; set; }

    public override string ToString()
    {
        return $"Amount:{Amount}";
    }

    public static IEnumerable<CTest> GenerateEnumerableTest()
    {
        var tab = new List<int> { 2, 5, 10, 12 };

        return tab.Select(t => new CTest(t));
    }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止没什么不好的!但是下面的测试给了我一个意想不到的结果,虽然我的知识IEnumerable<T>.Wherelinq方法:

[TestMethod]
public void TestCSharp()
{
    var tab = CTest.GenerateEnumerableTest();

    foreach (var item in tab.Where(i => i.Amount > 6))
    { …
Run Code Online (Sandbox Code Playgroud)

c# linq ienumerable

9
推荐指数
2
解决办法
242
查看次数

如何在public static void方法中创建消息框

我有一个公共静态方法,如果选择了某些值,我希望显示一条消息.这是在ASP.NET中,因此添加using System.Windows.Forms;会导致问题因为我正在使用using System.Web.UI.WebControls;.那么我该如何创建消息呢?

public static void UpdateSerialQtyRcvd(int SerNoID, int QtyRcvd)
{
     if (SerNo.QtyRcvd != 1)
     {
         if (SerNo.Reason == "")
         {
             //message
         }
     }
}
Run Code Online (Sandbox Code Playgroud)

Javascript behing代码:

function UpdateSerialQtyRcvd(sender, SerNoID, QtyRcvd) {
        if (QtyRcvd < 0) {
            alert("Qty Rcvd must be greater than 0");
        }
        else {
            PageMethods.UpdateSerialQtyRcvdUserControl(SerNoID, QtyRcvd, OnUpdateSuccess, OnUpdateFail);
        }
}
Run Code Online (Sandbox Code Playgroud)

调用Web方法:

[WebMethod]
public static void UpdateSerialQtyRcvdUserControl(int SerNoID, int QtyRcvd)
{
     JobDeliveryDebrief.UpdateSerialQtyRcvd(SerNoID, QtyRcvd);
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net static-methods messagebox

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

从DataBase保存并显示图像

不确定这是否接近.我正在使用代码在数据库表Events中创建一个图像字段

public string EvtImage { get; set; }
Run Code Online (Sandbox Code Playgroud)

首先,我甚至不确定它是否应该是一个字符串.然后我尝试使用代码将Image添加到数据库中

SqlCommand cmd = new SqlCommand("insert into Events (AspNetUsersId,EvtName,EvtType,EvtDescription,EvtDate,EvtVote, EvtImage) values (@AspNetUsersId, @EvtName, @EvtType, @EvtDescription, @EvtDate, @EvtVote, @EvtImage)");

cmd.Parameters.AddWithValue("@AspNetUsersId", userId);
cmd.Parameters.AddWithValue("@EvtName", eventName.Text);
cmd.Parameters.AddWithValue("@EvtType", eventType.Text);
cmd.Parameters.AddWithValue("@EvtDescription", eventDescription.Text);
cmd.Parameters.AddWithValue("@EvtDate", datetimepicker.Value);
cmd.Parameters.AddWithValue("@EvtVote", 0);

if (eventImage.HasFile)
{
    var  imagename = eventImage.FileName;
    cmd.Parameters.AddWithValue("@EvtImage", imagename);
}

loadDatabase(cmd);
Run Code Online (Sandbox Code Playgroud)

一旦添加了这个,我就试图Repeater使用代码在ASP.NET中显示它

<asp:Repeater runat="server" ID="repeaterEvent">
    <ItemTemplate>
        <div class="jumbotron">

            <h2><asp:Label ID="lblEventTest" runat="server" Text='<%#Bind("EvtName") %>'></asp:Label></h2>
            <h3><asp:Label ID="Label1" runat="server" Text='<%#Bind("EvtType") %>'></asp:Label></h3>
            <h4><asp:Label ID="Label3" runat="server" Text='<%#Bind("EvtDate") %>'></asp:Label></h4>
            <h4><asp:Label ID="Label2" runat="server" Text='<%#Bind("EvtDescription") %>'></asp:Label></h4>   
            <h4><asp:Label runat="server">Amount …
Run Code Online (Sandbox Code Playgroud)

c# sql asp.net repeater image

8
推荐指数
2
解决办法
8839
查看次数