只是我的一个奇怪的问题,是否有任何变换功能在linq.我的意思是,如果我有List<int>或List<Foo>,我想改变索引x处的元素或满足条件在Where中的元素.
我正在尝试使用Entity Framework CTP5从数据库中过滤结果。这是我目前的方法。
IQueryable<Form> Forms = DataContext.CreateFormContext().Forms;
foreach(string header in Headers) {
Forms = Forms.Where(f => f.GetType()
.GetProperty(header)
.GetValue(f, null)
.ToString()
.IndexOf(filter,
StringComparison.InvariantCultureIgnoreCase) >= 0);
}
Run Code Online (Sandbox Code Playgroud)
但是,我发现GetValue在使用实体框架时不起作用。如果IEnumerable<>不是,它会在类型时执行IQueryable<>
我可以使用其他方法产生相同的效果吗?
在最后几天,我把手表带到了orchad源,在使用Autofac注册组件的过程中,我看到了相同的代码,我无法解释!我将举一个例子:
builder.RegisterType<A>().As<IA>();
{
builder.RegisterType<B>().As<IB>();
{
builder.RegisterType<C>().As<IC>();
}
}
Run Code Online (Sandbox Code Playgroud)
我不能不支持括号做什么?它是否像子注册?
希望有人能帮助我!
谢谢
我想将字典转换为C#中的数组.该数组应采用以下格式:
string[] array = {"key1=value1","key2=value2","key1=value1"}
Run Code Online (Sandbox Code Playgroud)
如何有效地做到这一点?
我最近"转换"或者更确切地将我的方法导入到默认的Windows服务模板中.没有语法错误,它的编译没问题,但FileSystemWatcher方法由于某种原因不能正常工作,例如,当正常运行时,它会将已创建的所有进程写入process.lst,但是当作为服务运行时它不会执行这(可能与工作目录有关,因为它是一个服务?):
namespace WindowsService
{
class WindowsService : ServiceBase
{
/// <summary>
/// Public Constructor for WindowsService.
/// - Put all of your Initialization code here.
/// </summary>
public WindowsService()
{
this.ServiceName = "My Service";
this.EventLog.Source = "My Service";
this.EventLog.Log = "Application";
// These Flags set whether or not to handle that specific
// type of event. Set to true if you need it, false otherwise.
this.CanHandlePowerEvent = true;
this.CanHandleSessionChangeEvent = true;
this.CanPauseAndContinue = true;
this.CanShutdown = true;
this.CanStop = true; …Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的文件:
R.D. P.N. X Y Rot Pkg
L5 120910 64.770 98.425 180 SOP8
P4 120911 -69.850 98.425 180 SOIC12
L10 120911 -19.685 83.820 180 SOIC10
P4 120911 25.400 83.820 180 0603
L5 120910 62.484 98.425 180 SOP8
L5 120910 99.100 150.105 180 SOP8
.. ...... ...... ...... .. .......
Run Code Online (Sandbox Code Playgroud)
我想string.Split()用来拆分每个字符串,然后检查每一行"string [0]"的第一个值.如果有相同字符串[0]的重复项,我想在字符串[0]的末尾添加一个递增的" - #".所以它会像string[0] + "-i".....
我的意思是,对于L5的在上面的txt文件,他们将被更改为L5-1,L5-2,L5-3.同样适用于P4's(即P4-1,, P4-2)....
所以新的.txt看起来像这样:
R.D. P.N. X Y Rot …Run Code Online (Sandbox Code Playgroud) 我有一个如下定义的单例类
class myData {
private:
myData (void); // singleton class.
// Copy and assignment is prohibted.
myData (const myData &);
myData & operator=(const myData &);
static myData* s_pInstance;
public:
~myData (void);
static const myData & Instance();
static void Terminate();
void myFunc() { cout << "my function..." ;}
};
Run Code Online (Sandbox Code Playgroud)
//在cpp文件中
myData* myData::s_pInstance(NULL);
myData::myData(){}
myData::~myData()
{
s_pInstance = NULL;
}
const myData& myData::Instance()
{
if (s_pInstance == NULL)
{
s_pInstance = new myData();
}
return *(s_pInstance); // want to avoid pointer as …Run Code Online (Sandbox Code Playgroud) 我们最近得到了这个错误并且不知道为什么,我们没有修改任何集合,我们甚至删除了我们收到错误的页面上的大多数foreach.这是错误的堆栈跟踪:
Exception type: InvalidOperationException
Exception message: Collection was modified; enumeration operation may not execute.
en System.Collections.Generic.List`1.Enumerator.MoveNextRare()
en System.Linq.Enumerable.WhereListIterator`1.MoveNext()
en System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()
en System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
en System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()
en System.Linq.Buffer`1..ctor(IEnumerable`1 source)
en System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
en System.Linq.Buffer`1..ctor(IEnumerable`1 source)
en System.Linq.Enumerable.<ReverseIterator>d__a0`1.MoveNext()
en System.Web.Mvc.FilterProviderCollection.<RemoveDuplicates>d__b.MoveNext()
en System.Linq.Buffer`1..ctor(IEnumerable`1 source)
en System.Linq.Enumerable.<ReverseIterator>d__a0`1.MoveNext()
en System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
en System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
en System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
en System.Web.Mvc.FilterInfo..ctor(IEnumerable`1 filters)
en System.Web.Mvc.ControllerActionInvoker.GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor)
en System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
en System.Web.Mvc.Controller.ExecuteCore()
en System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
en System.Web.Mvc.MvcHandler.<>c__DisplayClass6.<>c__DisplayClassb.<BeginProcessRequest>b__5()
en System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0()
en System.Web.Mvc.MvcHandler.<>c__DisplayClasse.<EndProcessRequest>b__d()
en System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
en System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) …Run Code Online (Sandbox Code Playgroud) 我将不得不在Python中执行类似拼写检查的操作,如下所示:
我有一个巨大的单词列表(让我们称之为词典).我现在给了一些文本(我们称之为样本).我必须在词典中搜索每个样本单词.如果我找不到它,那个样本字就是错误.
简而言之 - 一个蛮力拼写检查器.但是,对每个样本字线性搜索词典必然会很慢.有什么更好的方法呢?
复杂因素是样本和词典都不是英文的.它是一种语言而不是26个字符,可以有超过300个 - 以Unicode格式存储.
任何算法/数据结构/并行化方法的建议都会有所帮助.以低于100%的准确度为代价的高速算法将是完美的,因为我不需要100%的准确度.我知道Norvig的算法,但它似乎是英语特有的.
python algorithm optimization spell-checking data-structures
data Tree a = Leaf a | Node (Tree a ) (Tree a)
我无法弄清楚如何在Haskell中编写树版本zip和zipWith函数.