显然db2o网站最近重做了,现在旧网址给出了404错误.每当我想我找到答案时,我就会收到404错误.
我有一个简单的db4o数据库,我已经设置了存储人员.
public class Person
{
public string Firstname { get; set;}
public string Lastname {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我已经能够在数据库上运行Linq查询,一切都运行得非常好.我正在网络环境中编程,所以我需要有人从数据库中识别和获取唯一对象,所以我只是将数据库配置为使用UUID.现在问题已经出现了,如何从Linq查询中获取的对象获取UUID信息?
例如,假设我让所有人都存储在数据库中,我需要为每个人生成唯一的URL.我将使用UUID这样做.所以我会运行这个:
var people = (from Person p in db select p).ToList();
Run Code Online (Sandbox Code Playgroud)
然后我将遍历列表
foreach( Person person in people)
{
DoSomething(person);
}
Run Code Online (Sandbox Code Playgroud)
最好的解决方案是将UUID作为Person类的属性,这样我就可以:
var uuid = person.UUID;
Run Code Online (Sandbox Code Playgroud)
但是,我没有看到这样做的机制.我错过了什么吗?
据说链接元素必须嵌入头部.
我需要将一些样式表链接到具有静态预定义标头的文档(由遗留框架呈现).所以我无法将标签插入头部.将它们放在外面会导致任何浏览器出现问题?或者也许最好用javascript插入标签?
我想从then子句中访问case语句表达式,即
food = "cheese"
case food
when "dip" then "carrot sticks"
when "cheese" then "#{expr} crackers"
else
"mayo"
end
Run Code Online (Sandbox Code Playgroud)
在这种情况下,expr将是食物的当前值.在这种情况下,我知道,我可以简单地访问变量食物,但是可能存在值不再可访问的情况(array.shift等..).除了将expr移到局部变量然后访问它之外,还有一种方法可以直接访问案例expr的值吗?
罗亚
ps我知道这个具体的例子很简单,它只是一个例子.
我需要执行一段JavaScript代码,每个2000毫秒.
setTimeout('moveItem()',2000)
Run Code Online (Sandbox Code Playgroud)
以上将在2000毫秒后执行一个函数,但不会再执行它.
所以在我的moveItem函数里面我有:
function moveItem() {
jQuery(".stripTransmitter ul li a").trigger('click');
setInterval('moverItem()',2000);
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为我想执行触发器单击jQuery一段代码,每个间隔2000毫秒,但现在它一直被调用,脚本需要被中断.除此之外,我觉得这是非常差的质量编码......你们怎么解决这个问题?
简单的例子:
public class Person
{
String name;
}
public class VIP extends Person
{
String title;
}
Run Code Online (Sandbox Code Playgroud)
然后做:
public static void main(String[] args)
{
Person p = new Person();
p.name = "John";
VIP vip = new VIP();
vip.name = "Bob";
vip.title = "CEO";
List<Person> personList = new ArrayList<Person>();
List<VIP> vipList = new ArrayList<VIP>();
personList.add(p);
personList.add(vip);
vipList.add(vip);
printNames(personList);
printNames(vipList);
}
public static void printNames(List<Person> persons)
{
for (Person p : persons)
System.out.println(p.name);
}
Run Code Online (Sandbox Code Playgroud)
在"printNames(vipList)"上给出错误(必需的List <Person> found List <VIP>).
这是否意味着虽然VIP是Person,但List <VIP>不是List <Person>?
我知道关于编码风格的讨论往往以灾难和无尽的火焰战结束,但这不是我想达到的目标.在过去十年中,我主要dealloc在Objective-C中看到了两种不同的编码方式.第一个也是最常见的一个是放在dealloc文件的底部.这也是Apple在Xcode默认模板中使用的样式.这背后的逻辑似乎dealloc是在对象的结尾接近时调用的,因此文件的结尾似乎是一个很好的比喻.
另一方面,有几个人倾向于dealloc直接置于@synthesize指令之下.在我看来,这有两个主要的缺点:
我认为的巨大优势是您可以在属性和相应的release消息之间建立直接的可视连接.
另一件事是弄乱已经发布的变量.虽然我不认为这是必要的,特别是在整个变量在dealloc结束后被解构的对象上下文中,我倾向于也只是变量.我习惯于在函数范围内对变量执行此操作,因此我只是符合我的编码风格.
这就是我的大多数课程的样子:
@implementation Bar
@synthesize foo;
- (void)dealloc
{
[foo release], foo = nil;
[super dealloc];
}
// Initializers and other methods…
Run Code Online (Sandbox Code Playgroud)
我已经提到了一些优点和缺点.对于这个话题你有什么看法?什么是你在使用的编码风格dealloc和为什么?我还忘了提到其他优点和缺点吗?
我不想在这里开始一场火焰战争.我只是想知道你使用什么样的风格,如果你有特定的理由,或者这对你最终无关紧要.
我有一个ASP.NET WebSite和一个自定义控件(我们称之为myControl).我需要用AJAX在这个控件上调用一个方法.我发布了从JavaScript(jQuery)到C#WebMethod的ajax调用.这工作正常,但我无法在静态WebMethod中访问myControl.任何想法如何解决这个问题?
简短版本:从JS到AJ的AJAX调用WebMethod工作 - > *这里(在这个方法中)我需要在我的自定义控件上调用一个方法,由于静态方法类型*而无法访问该方法
[WebMethod]
public static List<CustomListControl.IListItem> GetListItems()
{
// CAN'T GET TO MY CONTROL - need to return myContorl.Items;
return null;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将大约10K行的UTF-8编码数据导入到新的MySQL表中.
我可以LOAD DATA INFILE通过MySQL Workbench 成功完成,但UTF-8字符会被破坏.我已经通过PHP测试了数据库,它接受商店UTF-8字符很好.这个问题似乎与之相关LOAD DATA INFILE,而且我遇到了一些关于此问题的线索.
有没有人知道一种变通方法,或者可能是另一种同样简单的方法来导入CSV数据?
谢谢.
解决:
对于其他看到此问题且具有相同问题的人,只需在运行时添加字符集作为参数即可LOAD DATA INFILE.比我意识到的简单:)
当您尝试在XAML中构建一个Visual Studio时,Visual Studio会显示错误,这是一个众所周知的错误FixedDocument.例如,以下代码段
<DocumentViewer>
<FixedDocument>
<PageContent>
<FixedPage Width="21.0cm" Height="29.7cm">
<TextBlock>Hello World!</TextBlock>
</FixedPage>
</PageContent>
</FixedDocument>
</DocumentViewer>
Run Code Online (Sandbox Code Playgroud)
编译并运行完美,但Visual Studio在错误列表中显示错误(Property 'Pages' does not support values of type 'PageContent'.)这很烦人.
我正在寻找一种解决方案,允许我在Visual Studio中的XAML文件中构建我的文档,而不会收到该错误消息.我找到了一个解决方法,我想在下面分享作为答案,但我很好奇是否有一个更好(更优雅)的解决方案.
我有两个集合,以及根据是否满足某些条件而添加到这些集合中的一个或另一个集合的项目.
有点无意中,我偶然发现写作是合法的
(test(foo) ? cOne : cTheOther).add(foo);
Run Code Online (Sandbox Code Playgroud)
代替
if (test(foo)) {
cOne.add(foo);
} else {
cTheOther.add(foo);
}
Run Code Online (Sandbox Code Playgroud)
虽然第一个让我觉得聪明(总是加分),但我不确定长期可读性,可维护性等.我看到的基本优势是,如果我知道我总是会做同样的事情,它成为改变方法的一个位置(而不是两个,或者如果我通过条件运算符实现switch语句,可能很多).主要的缺点发生在不是这种情况时(即,我需要为某些情况而不是其他情况添加方法调用).
您看到两种方法(或其他解决方案)的优缺点是什么?
如果你不认为使用条件运算符设置哪个对象来调用方法的特定实例是正确的选择,是否存在合理的情况?