小编Ton*_*ony的帖子

LINQ如何在lambda表达式中选择多个属性?

我们经常使用以下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表达式做同样的事情吗?

c# linq lambda anonymous-types

14
推荐指数
1
解决办法
4万
查看次数

正则表达式 - HTML代码中的匹配属性

使用正则表达式匹配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 ")

html regex

14
推荐指数
2
解决办法
2万
查看次数

删除级联的实体框架

我在删除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)

但是,我得到错误:

操作失败:无法更改关系,因为一个或多个外键属性不可为空.当对关系进行更改时,相关的外键属性将设置为空值.如果外键不支持空值,则必须定义新关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象.

我没有关于如何删除这些对象的想法.有任何想法吗?

c# entity-framework foreign-keys cascading-deletes

14
推荐指数
2
解决办法
5万
查看次数

使用一些元素计数初始化List <>

让我说我有一个简单的List<bool>.我想初始化它并添加例如100个元素.为此,我可以这样做:

var myList = new List<bool>();

for (int i = 0; i < 100; i++)
{
    myList.Add(false);
}
Run Code Online (Sandbox Code Playgroud)

但这不是最优雅的方法.有没有内置的方法来简化它?我不想要任何循环,仅仅是为了好奇

c# list

14
推荐指数
4
解决办法
7970
查看次数

Angular - APP_INITIALIZER - Promise vs Observable

我有基于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初始化服务中的数据.

事情就是这样 - 当我使用该功能时 …

typescript angular

14
推荐指数
1
解决办法
3876
查看次数

C#反思:如何获取数组值和长度?

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'

c# reflection

13
推荐指数
2
解决办法
2万
查看次数

C#随机BigInt生成器

我即将实施DSA算法,但是存在一个问题:

选择"p",一个带L位的素数,其中512 <= L <= 1024,L是64的倍数

如何实现该数字的随机生成器?Int64具有"仅"63位长度.

c# biginteger dsa

12
推荐指数
1
解决办法
8237
查看次数

SQL如何删除select查询中的重复项?

我有一张看起来像这样的表:

替代文字

如您所见,有一些日期重复,那么如何为该表中的每个日期只选择一行?

'id_from_other_table'列来自INNER JOIN和上表

sql

12
推荐指数
3
解决办法
10万
查看次数

Decimal.Parse和不正确的字符串格式错误

我有一个十进制解析的简单问题.以下代码在我的计算机上正常工作,但是当我在服务器上发布项目(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)

.net c# decimal

12
推荐指数
3
解决办法
3万
查看次数

CSS/JS只显示适合容器的整个单词

我发现那篇文章

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)

html css

12
推荐指数
2
解决办法
1925
查看次数