我们经常使用以下lambda表达式
MyList.Select(x => x.Id).ToList();
Run Code Online (Sandbox Code Playgroud)
使用lambda表达式可以获得多于1个属性吗?例如Id,Name来自MyList?
我知道我可以使用以下语法:
(from item in MyList
select new { item.Id, item.Name }).ToList();
Run Code Online (Sandbox Code Playgroud)
我可以使用lambda表达式做同样的事情吗?
我在使用正则表达式匹配html属性(在各种html标签中)时遇到问题.为此,我使用模式:
myAttr=\"([^']*)\"
Run Code Online (Sandbox Code Playgroud)
HTML片段:
<img alt="" src="1-p2.jpg" myAttr="http://example.com" class="alignleft" />
Run Code Online (Sandbox Code Playgroud)
它从myAttr最后选择文本,/>但我需要选择myAttr="..."(" http://example.com ")
我在删除Entity Framework 4.1中的相关行时遇到问题.我有关系表
书1 <--->*BookFormats
我已经设置了删除级联:
ALTER TABLE [dbo].[BookFormats] WITH CHECK ADD CONSTRAINT [FK_BookFormats_Book]
FOREIGN KEY([BookID]) REFERENCES [dbo].[Book] ([BookID]) on delete cascade
Run Code Online (Sandbox Code Playgroud)
EDMX属性

然后,我想删除BokFormats与我的Book对象相关的所有项目:
var originalBook = m.db.Book.First(x => x.BookID == bookId);
originalBook.BookFormats.Clear();
m.db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
但是,我得到错误:
操作失败:无法更改关系,因为一个或多个外键属性不可为空.当对关系进行更改时,相关的外键属性将设置为空值.如果外键不支持空值,则必须定义新关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象.
我没有关于如何删除这些对象的想法.有任何想法吗?
让我说我有一个简单的List<bool>.我想初始化它并添加例如100个元素.为此,我可以这样做:
var myList = new List<bool>();
for (int i = 0; i < 100; i++)
{
myList.Add(false);
}
Run Code Online (Sandbox Code Playgroud)
但这不是最优雅的方法.有没有内置的方法来简化它?我不想要任何循环,仅仅是为了好奇
我有基于Angular v4的应用程序.场景很简单 - 我需要在应用程序启动之前从服务器加载一些设置.为此,我使用APP_INITIALIZER:
{
provide: APP_INITIALIZER,
useFactory: init,
deps: [SettingsService],
multi: true
}
export function init(config: SettingsService) {
return () => config.load_one();
}
//import declarations
@Injectable()
export class SettingsService {
constructor(private http: HttpClient) { }
load_one(): Promise<boolean> {
return new Promise<boolean>((resolve) => {
this.http.get('url').subscribe(value => {
console.log('loadSettings FINISH');
resolve(true);
});
});
}
load_two(): Observable<any> {
const promise = this.http.get('url');
promise.subscribe(value => {
console.log('loadSettings FINISH');
});
return promise;
}
}
Run Code Online (Sandbox Code Playgroud)
在应用程序的某个地方,我有一个被调用的函数manageSettings()(它的代码目前无关紧要),这需要SettingsService初始化服务中的数据.
事情就是这样 - 当我使用该功能时 …
FieldInfo[] fields = typeof(MyDictionary).GetFields();
Run Code Online (Sandbox Code Playgroud)
MyDictionary 是一个静态类,所有字段都是字符串数组.
如何获取每个数组的Length值,然后迭代遍历所有元素?我试过演员像:
field as Array
Run Code Online (Sandbox Code Playgroud)
但它会导致错误
无法通过引用转换,装箱转换,拆箱转换,换行转换或空类型转换将类型'System.Reflection.FieldInfo'转换为'System.Array'
我有一张看起来像这样的表:

如您所见,有一些日期重复,那么如何为该表中的每个日期只选择一行?
'id_from_other_table'列来自INNER JOIN和上表
我有一个十进制解析的简单问题.以下代码在我的计算机上正常工作,但是当我在服务器上发布项目(VPS,Windows Server 2008 R2标准版)时,我收到错误"输入字符串的格式不正确".有什么想法有什么不对吗?
我将解析后的数字存储在MySQL数据库表中 - 列类型为 DECIMAL(10, 4)
源代码:
CultureInfo nonInvariantCulture = new CultureInfo("en-AU"); //or pl-PL
nonInvariantCulture.NumberFormat.NumberDecimalSeparator = ".";
Thread.CurrentThread.CurrentCulture = nonInvariantCulture;
string toConvert = ("3,4589").Replace(",", "."); //it's an example
decimal parsed = decimal.Parse(toConvert);
Run Code Online (Sandbox Code Playgroud) 我发现那篇文章
https://justmarkup.com/log/2015/07/dealing-with-long-words-in-css/
而且我想知道如果它适合容器,如何强制显示整个单词:
例如
some long sentence
Run Code Online (Sandbox Code Playgroud)
它可以显示为
some long s...
Run Code Online (Sandbox Code Playgroud)
这个词sentence不适合所以我想隐藏它并仅显示:
some long
Run Code Online (Sandbox Code Playgroud)
我目前的CSS(它添加了...)
.short {
max-width: 250px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
Run Code Online (Sandbox Code Playgroud) c# ×6
html ×2
.net ×1
angular ×1
biginteger ×1
css ×1
decimal ×1
dsa ×1
foreign-keys ×1
lambda ×1
linq ×1
list ×1
reflection ×1
regex ×1
sql ×1
typescript ×1