我对如何管理SmtpClient感到有点困惑,因为它是一次性的,特别是如果我使用SendAsync进行调用.据推测,在SendAsync完成之前,我不应该调用Dispose.但我应该打电话给它(例如,使用"使用").该方案是一个WCF服务,它在发出呼叫时定期发送电子邮件.大多数计算速度很快,但发送电子邮件可能需要一秒左右的时间,所以Async会更好.
我每次发邮件时都应该创建一个新的SmtpClient吗?我应该为整个WCF创建一个吗?救命!
更新如果它有所不同,则始终为用户自定义每封电子邮件.WCF托管在Azure上,Gmail用作邮件程序.
我想知道如何查询对象数组.例如,我有一个像CarList这样的数组对象.所以CarList [0]会把对象Car给我.汽车有属性Model和Make.现在,我想使用linq查询数组CarList以获得模型名为"bmw"的Make of a Car.我尝试了以下内容
var carMake = from item in CarList where item .Model == "bmw" select s.Make;
Run Code Online (Sandbox Code Playgroud)
我收到了错误
找不到源类型CarList []的查询模式的实现
我无法将CarList从数组更改为List <>之类的东西,因为CarList从webservice作为数组返回到我.
请告诉我这是如何解决的.如果您可以使用C#代码解释,那将会很棒.
提前致谢.
我有一个字符串,需要来自所述字符串的字母.
string s = "EMA123_33"; // I need "EMA"
string s = "EMADRR123_33"; // I need "EMADRR"
Run Code Online (Sandbox Code Playgroud)
我在Visual Studio 2008中使用C#.
我需要一个这样的函数:
AddToList(txtName, timeExpire);
Run Code Online (Sandbox Code Playgroud)
它看起来像是自描述的,该项目将自动过期并从列表中删除.
我无法想象如何做到这一点.任何人都可以给我一个线索吗?
如果我有以下字符串数组:
string[] stringArray = {"one", "two", "three", "four"};
Run Code Online (Sandbox Code Playgroud)
有没有办法从数组中获取C#中的第一个和最后一个项目("one","4"),除了使用数组索引(stringArray [0],stringArray [3]),类似stringArray.First和stringArray.最后?
谢谢.
我发表的声明将清除当前列表框中的所有字符串/数据,我尝试过:
private void cleanlistbox(object sender, EventArgs e)
{
listBox1.ResetText();
}
Run Code Online (Sandbox Code Playgroud) 以下代码仅适用于此问题
我正在上课
public User class
{
public string Name{get;set;}
public string Age{get;set;
}
Run Code Online (Sandbox Code Playgroud)
我有一本字典
Dictionary<string,string> data= new Dictionary<string,string>();
data.Add("Name","Rusi");
data.Add("Age","23");
User user= new User();
Run Code Online (Sandbox Code Playgroud)
现在我想 使用User对象映射 到此.Automapper映射对象的属性,但在我的例子中有一个字典和对象.dictionaryAutomapper
所以,请建议我怎么做
目前我正在使用派生自的自定义类HashSet.在特定条件下选择项目时,代码中有一点:
var c = clusters.Where(x => x.Label != null && x.Label.Equals(someLabel));Run Code Online (Sandbox Code Playgroud)
它工作正常,我得到了这些元素.但有没有办法可以在集合中接收该元素的索引以与ElementAt方法一起使用,而不是整个对象?
看起来或多或少会像这样:
var c = select element index in collection under certain condition;
int index = c.ElementAt(0); //get first index
clusters.ElementAt(index).RunObjectMthod();Run Code Online (Sandbox Code Playgroud)
是否手动迭代整个集合更好的方法?我需要补充说它是在一个更大的循环中,所以Where对于不同的someLabel字符串,这个子句被执行多次.
编辑
我需要这个吗?clusters是一组文档集合的集合.文档按主题相似性分组.因此,该算法的最后一步是发现每个群集的标签.但算法并不完美,有时它会产生两个或多个具有相同标签的聚类.我想要做的只是将这些集群合并为一个集群.
什么是最好的方法来做PROPNAME任何类型的属性T?用反射构建它,还是有一个很好的LINQ方法呢?
T[] vals = people.Select(x => x.PROPNAME).ToArray<T>();
Run Code Online (Sandbox Code Playgroud)
这是我迄今为止最好的:
public T[] ConvertListCol<TFrom,T>(IEnumerable<TFrom> list, string col)
{
var typ = typeof (TFrom);
var props = typ.GetProperties();
var prop = (from p in props where p.Name == col select p).FirstOrDefault();
var ret = from o in list select prop.GetValue(o, null);
return ret.ToArray<T>();
}
Run Code Online (Sandbox Code Playgroud)
返回时出错......但越来越近了.没关系,但比我希望的要小一些.
我想避免循环
我有这个 :
string s = "AAAA,12,BBBB,34,CCCCC,56";
Run Code Online (Sandbox Code Playgroud)
有了Linq,我想要2个List
在第一个:AAAA,BBBB和CCCCC
在第二个:12,34和56
它不是基于数字或非数字.
谢谢,
c# ×10
arrays ×3
.net ×2
linq ×2
list ×2
.net-4.0 ×1
asp.net-mvc ×1
automapper ×1
dictionary ×1
hashset ×1
listbox ×1
smtpclient ×1
string ×1
windows ×1