我加载了一个字符串列表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}"
我有一个类类型的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) 我有这样一个公众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,十四个月,十六个月,十八个月
我怎么做到这一点?
我们内部有一个简单的实用程序类用于数据库调用(围绕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)
这会很聪明,还是会有点矫枉过正?我可以看到重用,更改数据库和维护/可读性的好处.
我正在尝试解决以下练习:
您需要创建一个
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) 当启动多个线程时,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) 我在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) 我以为我知道一切,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) 我有一个公共静态方法,如果选择了某些值,我希望显示一条消息.这是在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) 不确定这是否接近.我正在使用代码在数据库表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)