我一直在尝试遵循一些WCF数据服务示例并具有以下代码:
private void OnSaveCompleted(IAsyncResult result)
{
Dispatcher.BeginInvoke(() =>
{
context.EndSaveChanges(result);
});
}
Run Code Online (Sandbox Code Playgroud)
以下称为:
this.context.BeginSaveChanges(SaveChangesOptions.Batch, this.OnSaveCompleted, null);
Run Code Online (Sandbox Code Playgroud)
现在我在这里有点困惑.首先,第一位代码显示语法错误"参数类型lambda表达式不能分配给参数类型System.Delegate".因此,我没有盲目地尝试遵循示例代码,而是试图了解这里发生了什么.不幸的是,我正在努力理解错误加上实际发生的事情.
我觉得有点愚蠢,因为我确信这很容易.
提前感谢任何启蒙!
我正在尝试插入XML列(SQL SERVER 2008 R2),但服务器抱怨:
System.Data.SqlClient.SqlException(0x80131904):
XML解析:第1行,第39个字符,无法切换编码
我发现XML列必须是UTF-16才能使插入成功.
我正在使用的代码是:
XmlSerializer serializer = new XmlSerializer(typeof(MyMessage));
StringWriter str = new StringWriter();
serializer.Serialize(str, message);
string messageToLog = str.ToString();
Run Code Online (Sandbox Code Playgroud)
如何将对象序列化为UTF-8字符串?
编辑:好的,抱歉混淆 - 字符串需要是UTF-8.你是对的 - 默认情况下它是UTF-16,如果我尝试以UTF-8插入它就会通过.所以问题是如何序列化为UTF-8.
例
这会在尝试插入SQL Server时导致错误:
<?xml version="1.0" encoding="utf-16"?>
<MyMessage>Teno</MyMessage>
Run Code Online (Sandbox Code Playgroud)
这不是:
<?xml version="1.0" encoding="utf-8"?>
<MyMessage>Teno</MyMessage>
Run Code Online (Sandbox Code Playgroud)
更新
我想出当SQL Server 2008的Xml列类型需要utf-8时,以及当encoding你尝试插入xml规范的属性中的utf-16时:
如果要添加utf-8,请将参数添加到SQL命令,如下所示:
sqlcmd.Parameters.Add("ParamName", SqlDbType.VarChar).Value = xmlValueToAdd;
Run Code Online (Sandbox Code Playgroud)
如果您尝试encoding=utf-16在上一行中添加xmlValueToAdd,则会在插入中产生错误.此外,VarChar意味着国家字符不被识别(它们变成问号).
要将utf-16添加到db,请使用SqlDbType.NVarChar或SqlDbType.Xml在前面的示例中,或者根本不指定type:
sqlcmd.Parameters.Add(new SqlParameter("ParamName", xmlValueToAdd));
Run Code Online (Sandbox Code Playgroud) 我知道LINQ有一个SequenceEquals方法.此方法确保每个集合中的每个项目值以相同的顺序匹配.
我正在寻找的是更"等效"的功能.只是两个序列包含相同的项目,不一定是相同的顺序.
例如,NUnit的有CollectionAssert.AreEqual()和CollectionAssert.AreEquivalent()这做我解释.
我知道我可以通过以下方式做到这一点:
SequenceEqualsIntersect,然后查看交集是否等于原始序列.例:
var source = new[] {5, 6, 7};
source.Intersect(new[] {5, 7, 6}).Count() == source.Length;
Run Code Online (Sandbox Code Playgroud) 我知道这个错误的意思,但我真的很挣扎,我需要别人的帮助:
2010-09-21 15:03:11.562 Stocks[5605:207] *** Terminating app due to uncaught
exception 'NSUnknownKeyException', reason: '[<NSObject 0x499fb20>
setValue:forUndefinedKey:]: this class is not key value coding-compliant
for the key actionText.'
Run Code Online (Sandbox Code Playgroud)
这里有我的代码:
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
@interface AlertCell : UITableViewCell {
IBOutlet UILabel *actionText;
}
@property (retain, nonatomic) UILabel *actionText;
@end
Run Code Online (Sandbox Code Playgroud)
和
@implementation AlertCell
@synthesize actionText;
- (void)dealloc {
[actionText release];
[super dealloc];
}
@end
Run Code Online (Sandbox Code Playgroud)
问题发生在那里:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
AlertCell *cell =
(AlertCell …Run Code Online (Sandbox Code Playgroud) $string = "
put returns between paragraphs
for linebreak add 2 spaces at end
";
Run Code Online (Sandbox Code Playgroud)
想要从字符串中删除所有新行.
我有这个正则表达式,它可以捕获所有这些,问题是我不知道我应该使用哪个函数.
/\r\n|\r|\n/
Run Code Online (Sandbox Code Playgroud)
$string 应成为:
$string = "put returns between paragraphs for linebreak add 2 spaces at end ";
Run Code Online (Sandbox Code Playgroud) 当我检查关于十进制的mysql文档我与他们的描述混淆.
在MySQL 5.0.3之前,如果将+0003.1插入到DECIMAL(5,1)列中,则将其存储为+0003.1.从MySQL 5.0.3开始,它存储为3.1.对于负数,不再存储文字字符.必须修改依赖于旧行为的应用程序以解决此更改.http://dev.mysql.com/doc/refman/5.0/en/precision-math-decimal-changes.html
当我在phpmyadmin中列出行时,我可以看到负号,当我计算结果时,正如预期的那样.但文件说不会出现任何迹象.
以十进制存储负数是不是很好(我没有在学校学过?迷茫)?...或者我们必须使用浮点数.
我知道浮动会使计算变得复杂,并建议在某些条件下坚持使用小数.
我想对此提出建议.
我需要从这样的LDAP连接字符串中提取信息:
ldap://uid=adminuser,dc=example,c=com:secret@ldap.example.com/dc=basePath,dc=example,c=com
Run Code Online (Sandbox Code Playgroud)
我想使用一个正则表达式,它将为我提取每个标记并将其放在一个数组中.我尝试了一些正则表达式,我得到的最好的是:
/(\w+)\:\/\/(([a-zA-Z0-9]+)(:([^\:\@]+))?@)?([^\/]+)((\/[^#]*)?(#(.*))?)/
Run Code Online (Sandbox Code Playgroud)
但不幸的是,当我在PHP中执行它时,我得到以下结果:
Array
(
[0] => ldap://uid=adminuser,dc=example,c=com:secret@ldap.example.com/dc=basePath,dc=example,c=com
[1] => ldap
[2] =>
[3] =>
[4] =>
[5] =>
[6] => uid=adminuser,dc=example,c=com:secret@ldap.example.com
[7] => /dc=basePath,dc=example,c=com
[8] => /dc=basePath,dc=example,c=com
)
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我,以便我能正确提取连接字符串的每个部分吗?
谢谢
谷歌的GeoMap是否有一个不错的非闪存替代品?我正试图"推"重绘,但因为它是闪存,它必须运行回Google,渲染一个flash对象,然后替换它.
[Serializable]
class MyClass
{
[NonSerialized] int Foo { get; set; } // error
[NonSerialized] int bar; // ok
}
Run Code Online (Sandbox Code Playgroud)
为什么不允许这样做?
我知道诸如此类的解决方法
问题是具体为什么 [NonSerialized]不允许在本地使用,但允许在字段上使用.