小编Iva*_*ono的帖子

使用Linq迭代ConfigurationManager.ConnectionStrings?

可以这样做吗?

var strings = ConfigurationManager.ConnectionStrings;

var names = (from d in strings
             select new ConnectionName(d.Name));
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api

2
推荐指数
1
解决办法
1191
查看次数

uniqueidentifier 在数据库中是否唯一?

我有许多数据库,每个数据库都有一个审计表。其中一个数据库是“通用”数据库,其中包含国家、州等表格。

该公共数据库的表在其他数据库中作为视图进行引用。

目前我的审计表有一个身份列。为了列出审计记录,我使用 UNION 来合并普通数据库中的审计表和公共数据库中的审计表。

然而,审计表中的标识列可能是相同的。

如果我在审计表中添加一个 uniqueidentifier 列并将其用作我的唯一 ID,那么该列在数据库中是否唯一?

sql sql-server

2
推荐指数
1
解决办法
3008
查看次数

如何将带有Description属性的Enum强制转换为字典?

基于这个问题,并且最好使用这个答案以及获得枚举属性的答案,如何将枚举转换为字典,其中Key是枚举值本身并且Value是描述属性?

c# enums

2
推荐指数
1
解决办法
1124
查看次数

片段未显示在活动中

我有一个具有自己布局的片段,应该添加片段的活动具有以下布局:

<?xml version="1.0" encoding="utf-8"?>
   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin">

    <fragment
    android:name="com.myapp.MyFragment"
    android:id="@+id/myfragment"
    android:layout_weight="1"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    tools:layout="@layout/myfragment_layout" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

然后在活动类中:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_info);

    FragmentManager fm = getFragmentManager();

    fragment = fm.findFragmentById(R.id.myfragment);
    if (fragment == null) {
        fragment = new MyFragment();

        FragmentTransaction ft = fm.beginTransaction();
        ft.add(R.id.myfragment, fragment, "myfragment");
        ft.commit();
    }
}
Run Code Online (Sandbox Code Playgroud)

片段的 onCreateView 是:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    super.onCreateView(inflater, container, savedInstanceState);

    return inflater.inflate(R.layout.myfragment, container, false);
}
Run Code Online (Sandbox Code Playgroud)

但是片段没有显示。不会抛出任何异常。活动保持空白。

我错过了什么?

android android-fragments

2
推荐指数
1
解决办法
6710
查看次数

如何检查文件是否存在于wwwroot?

如何检查文件是否存在于wwwroot. System.IO.File需要一个绝对路径。

是不是需要先把相对路径转换成绝对路径,还是有更简单的方法?

c# asp.net-core

2
推荐指数
1
解决办法
1680
查看次数

更改片段时 TextViews 不保存值

我有一个包含许多片段的活动。在所有片段中,我都获得了 中的视图onViewCreated,如下所示:

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    tv1 = (TextView)view.findViewById(R.id.tv1);
    tv2 = (TextView)view.findViewById(R.id.tv2);
    tv3 = (TextView)view.findViewById(R.id.tv3);
}
Run Code Online (Sandbox Code Playgroud)

我没有在状态中存储 textview 的文本。一个片段扩展ListFragment,我更改适配器的项目并刷新列表视图。

当我回到以前的片段时(我使用popBackStack()是因为我需要使用后退按钮(应用程序在 kiosk 模式下运行),某些片段中的文本丢失,而在其他片段(和列表视图)中所做的更改保留在那里。

我正在replace用来替换框架中的当前片段。

编辑

丢失的值是 TextViews 和 ImageButtons(图像资源)。EditText 视图中的文本不会丢失。

为什么仅在某些片段中会发生这种情况,我该如何解决此数据丢失问题?

android android-fragments

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

从int转换为long throws异常

我有一个包含2列的表(string&int).int列的当前值是-1.

使用SQLDataReader我正在读取此表中的行:

public class MyObject
{
    public string Name;
    public long Number;
}

using (SqlDataReader dataReader = command.ExecuteReader())
{
    MyObject o = new MyObject()
    while (dataReader.Read())
    {
        o.Name= dataReader.GetString(0);
        o.Number = dataReader.GetInt64(1);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我正在InvalidCastException阅读Number专栏文章.我在这里错过了什么?

c# sql-server-2012

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

比较类型的语法?

我需要检查datareader列的数据类型:

Type type = dataTable.Columns[i].DataType;
if (type.Equals(System.Decimal))
{
    //...
}
Run Code Online (Sandbox Code Playgroud)

但是,这条线if (type.Equals(System.Decimal))不正确.什么是正确的语法?

c#

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

如何从任务中抛出/捕获内部异常?

假设我有一个简单的方法:

private void MyMethod()
{
    try {
        myService.Do();
    } catch (MyException ex) {}
}
Run Code Online (Sandbox Code Playgroud)

我有一项使用 的服务HttpClient,并且我这样做:

public void Do()
{
   var response = client.GetAsync(url).Result; //Alas it's not async till now
}
Run Code Online (Sandbox Code Playgroud)

现在我正在实现DelegatingHandler并覆盖SendAsync

protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
    return await base.SendAsync(request, cancellationToken)
        .ContinueWith<HttpResponseMessage>(task =>
        {
            HttpResponseMessage response = task.Result;

            if (response.StatusCode == HttpStatusCode.NotFound)
            {
                throw new MyException();
            }

            return response;
        }).ConfigureAwait(false);
}
Run Code Online (Sandbox Code Playgroud)

一切都按预期工作,直到 aMyException被抛出这里。异常会冒泡到调用者,但是,异常是AggregrateException.

有没有一种方法可以抛出实际的异常本身,这样就不需要对应用程序范围内的代码进行重大更改?

c# winforms

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

从 Azure 构建管道中排除项目

我有一个解决方案,我有许多卸载的项目。当我在本地构建解决方案时,卸载的项目显然没有构建。在配置管理器中,我什至无法为卸载的项目选择配置、平台、构建和部署选项。

现在我已经创建了一个 Azure Pipeline,它也构建了解决方案。但卸载的项目仍在建设中。

如何在我的管道中排除构建项目?

visual-studio azure-devops

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